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.