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.
There are 6 types of transactions.
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.
The transaction may have one of these results:
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.|
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.
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.