Elavon Payment Gateway - Fields (embed) API

8 steps
Embed payment input fields into your shop. Create custom design of payment. Official Integration Guide Official API reference
  1. Create order , that you are going to charge the customer for.
  2. Create payment session using the created order's id. This will respond with the session's Id that you will need to create the lightbox/fields objects.
  3. Set the sessionId required by the lightbox / fields ' constructor with javascript.
  4. Display the lightbox / fields for the user with javascript.
  5. Wait for notification to confirm successful transaction creation or session expiration.
  6. Get the Payment-Session information by Retrieve Payment-Session that contains the transaction link.
  7. Get the transaction information by Retrieve Transaction
  8. Process the order based on Retrieve Payment-Session and Retrieve Transaction results, including ThreeDSecure data.
Good to know
  • Make sure to not solelly rely on the javascript events when checking for transaction status. It is highly reccomended to setup 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 the notifications is to not manually check, but rather setup 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
  • It is recommended to only create transactions with doThreeDSecure flag set to true, in order to prevent chargebacks from fradulent transactions.
  • Do not mix Payment Session and Payment Method Session. They are not the same.
  • Always check threeDSecure results. It is your choice to stand financial responsibility in a possible chargeback of a transaction. We recommend to implement a transaction amount based evaluation e.g. above 10 EUR you drop if threeDSecure.transactionStatus = "N".
  • Create payment session will not create a transaction unless the doCreateTransaction is set to true.