Create payment method session
, in order to prepare a chargable stored card. In this request you can specify if you would like to use lightbox / fields or redirect as a parameter.
Create subscription
with the stored card's id. You will need to store the subscription id so you can connect transactions to it,
retrieve
or
update
it if later the customer want to cancel its subscription.
Wait for
notification
to confirm successful charges or to catch failed ones.
Get the transaction information by Retrieve Transaction
using the transaction ID included in the notification. You will need to match transactions using the subscription field and the stored id.
Process your order based on transaction and subscription status.
Good to know
Make sure to not solely rely on the JavaScript events when checking for transaction status. It is highly recommended to set up
webhook
notifications and process transaction status based on them.
You will need Processor Id, Public Key, Private Key, and Merchant Alias. . You can find and generate test credentials from the
Elavon Sandbox Account Form.
You will need to send your authentication information in each call. You can read more about the details
Here .
Your base URL is either https://uat.api.converge.eu.elavonaws.com/ for the sandbox API or
https://api.eu.convergepay.com/ for the production API. It is also provided at each API endpoint's description.
The best practice for handling the notifications is to not manually check, but rather to set up
webhook
notifications.
You should store response data in your backend's database while
implementing different steps of payment, you
would likely need a value from a previous call, e.g. Order ID
from Create Order.
Please note in Subscriptions there is no ThreeDSecureV2 on transactions, hence Liability is always on Merchants. This is not an Elavon thing, this is the Rules and Regulations of the card schemes.
Do not mix Payment Session and Payment Method Session. They are not the same.
You can use the customReference field to uniquely identify subscriptions within notifications.