Payments
Before You Start
Prerequisites

Prerequisites

Review the checklist below before beginning your integration with Volume to ensure a smooth and efficient developer experience.

What to Expect

For an optimal user experience, integrate using one of the following web-based SDKs: JavaScript, React Web

  • SDK front-end component integration.
  • Make necessary adjustments to your existing payment methods page, ensuring you follow our UI Best Practices to achieve optimal results.
  • The callback implementation typically involves a lightweight user return page, however, your system must be prepared to handle payment identifiers and the initial payment status.
  • Webhook implementation to receive payment status updates.

IMPORTANT: Ensure that you regenerate the merchantPaymentId upon receiving the corresponding Volume event triggered by each SDK. Please refer to the "Regenerating Merchant Payment ID" section in the respective SDK documentation to prevent errors during implementation.

Preparing Your Volume Application

Before integrating Volume payments, please ensure the following prerequisites are in place:

Webhooks and Callbacks Settings

Virtual Account Sandbox Access

If you plan to use Virtual Accounts, it's important to begin integration with virtual account functionality already enabled on your sandbox account, as this impacts your webhook implementation requirements.

If you’ve signed the Virtual Account agreement but haven’t received a VA-enabled sandbox environment, please contact us at support@getvolume.com or reach out to your Customer Success Manager.

What to Avoid

Avoid implementing web-based SDKs in your mobile application unless absolutely necessary—for example, when your app is built using a native framework but all content is rendered within a WebView. In such cases, a web-based SDK may be used; however, be aware that many features will be unavailable in this setup. This approach should be considered a temporary solution, with plans to transition to a fully native integration as soon as possible.

One of the most critical features is the use of universal links to launch the banking app. Since WebViews do not support universal links, it is not possible to open the banking app directly from within a WebView. Therefore, it is essential to handle these links outside of the WebView context. For implementation details, please refer to our WebView article on how to trigger universal links externally.