Set up your server

Set Up Your Server

To start working with our SDK, you should expose two APIs on your backend for your app to communicate with:

  • Endpoint 1: Preparing the checkout,
  • Endpoint 2: Getting result of payment.

Prepare the checkout

Perform a server-to-server POST request to prepare the checkout with the required data, including the payment type, amount and currency. The response to a successful request is a JSON string with the checkout ID (see "id" in example below), required in the second step to make the transaction.

All parameters introduced in the sample request are mandatory.
For a full list of parameters that can be sent in the prepare checkout request, see the API Reference.

Shopper result URL

Shopper result URL is required for asynchronous payment methods. In an asynchronous workflow a redirection takes place to allow account holder to complete/verify the payment. Then customer should be redirected back to the your app. Communication within the apps can be done with a custom URL scheme. You must send an appropriately formatted URL: {custom_url_scheme}://{url}. See how to register an URL scheme in Asynchronous payments tutorial.

Notification URL

Notifications occur to notify you of a change in status of a payment. That change in status may happen for various reasons, often depending on the brand.

We send an HTTP GET request to the notificationUrl with the following information:

GET {notificationUrl}?id={id}&resourcePath={resourcePath}

In order to receive this message, you should expose an endpoint that is accessible over the internet (we recommend over HTTPS) and use this endpoint as your notificationUrl.

The resourcePath is a path (starting with /) relative to the server URL which you must call in order to obtain the intend information for the notification:

GET https://test.oppwa.com{resourcePath}?authentication.userId={userId}&authentication.password={password}&authentication.entityId={entityId}

Get the payment status

Once the payment has been processed, your client receives the callback from the client SDK and sends the ID to your server.

Your server is responsible for receiving the ID and returning the payment status to your client.

We recommend that you verify the following fields from the Payment Status response, by comparing the returned values with expected:

  • ID(s)
  • Amount
  • Currency
  • Brand
  • Type

Test Your Server

Your can find the values for the sandbox testing account in our Testing Page. To verify your integration, check the transactions in the BIP, where they will appear in real-time.

NOTE: Your need to develop and test your code against your sandbox account before processing live transactions against a production account.

Go to production

When you are ready to start charging real money, transition over to our production environment. At this point, your should be able to generate the checkout and obtain the payment status in the sandbox.