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 are required for merchant server to have relevant data about payment status all the time. This would make the server independent of possible problems with the application (like bad Internet connection or crashes) during the checkout process.

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

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

Make accessible endpoint through the Internet in order to receive this request. This endpoint would be used as your notificationUrl.

The resourcePath is a path (starting with /) which is related to the server URL. You must call it to get the information about 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 app receives the callback from the mobile SDK.
Then, to get the status of the transaction, you should make a GET request to the baseUrl + resourcePath, including your authentication parameters.

Important: The baseUrl must end in a "/", e.g. "https://test.oppwa.com/".

Get resourcePath for specific transaction using mobile SDK. The app should send resourcePath to your server.
  • If you use SDK with ready-to-use UI, resourcePath will be returned in callback after submitting a transaction.
  • If you use core SDK with your own UI, you will have to request checkout info from the server (SDK provides convenience API for this request).

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.