Last updated 3 minutes ago

Transactions

Multiple transactions can be attempted against one invoice.

A transaction can be applied against none to many invoices too.

The typical relationship is that a transaction is related to one invoice. But one invoice may have multiple transaction "attempts" because not all transactions are approved.

Types

There are 6 types of transactions.

  • authorize
  • capture
  • sale
  • void
  • refund
  • credit

An authorized transaction can be captured or voided.

A sale transaction can be refunded.

A refund transaction can be voided (sometimes).

A credit transaction is a special and rare type of transaction that allows payments to be made to customer cards in excess of just a refund. It requires special permissions from your acquiring bank.

Results

The transaction may have one of these results:

  • approved
  • declined
  • abandoned
  • canceled
  • unknown

If the result is unknown, it will likely change as it is processed.

When the result is... You may want to
approved - Present the customer with a "Thank you" page.
- Display the billing descriptor on the "Thank you" page.
declined - Present the customer with a message stating that the transaction was declined.
- Ask your customer to retry the transaction with a different payment method.
- If you detect abuse, you may want to block the customer (Rebilly can automate that for you).
unknown - Check if the status is "waiting-approval". If it is, pop the customer to the approvalUrl found within the "_links" of the response.
canceled - This means the customer was offsite and intentionally canceled the transaction. Present the customer with an option to pick a different payment method.

Offsite vs. Instant

In many cases, there is no end-user (customer) interaction involved to complete a transaction.

However, there are more and more circumstances, such as regulations, and payment methods that require the customer to interact directly with on a 3rd party website. We call that the offsite experience.

Retries

For renewals, it's a common use case to retry the transaction at a better time. Rebilly can handle that automatically with some rules-based configurations within our app.