For the complete documentation index, see llms.txt. This page is also available as Markdown.
Merchant Initiated Transaction
A merchant initiated transaction is a payment that is agreed with payer's consent, and is initiated by the merchant collecting the payment.
In order to apply for a merchant initiated transaction, the merchant needs to specify why this transaction is initiated, as well as the authorization_tracking_id of the original transaction, and stored_credential_indicator to show if it's the first card on file transaction on the subsequent one.
In order to apply a merchant initiated transaction, the customer will need to put their card on file first.
This transaction can be a zero dollar authorization just to put card on file, or it could be the initial payment customer is required to pay. We will assume customer is just doing a zero dollar authorization. We can create the transaction via Create a purchase .
Note that since we are putting card on file, we will need to specify card_on_file to true.
Customer Initiated Transaction
/* * Request: POST /v1.0/purchases*/{"amount":0,"currency":"AUD","card_holder":"John Smith","card_number":"411111xxxxxx1111","card_expiry":"01/2025","cvv":"123","reference":"customer_initiated_transaction","extra":{"card_on_file":true,"stored_credential_indicator":"I"}}
In the response, we will get the card_token as well as the authorization_tracking_id. These values will need to be stored for the merchant initiated transaction later.
To apply for a merchant initiated transaction, you need to apply the card_token, the auth_reason and authorization_tracking_id in the payload.
Note: Not all schemes requires authorization_tracking_id. If this value is not found in the response, then it indicates this scheme does not support it, and this can be ignored for subsequent transactions.
❗️ Failure to present the authorization_tracking_id may result in the recurring or installment transaction being declined, particularly wallet transactions.