Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
72 lines (45 sloc) 4.79 KB

Quick integration guide

Before you start with the implementation please contact our team as they will assess whether we can waive some of the requirements around our API, including the need for KYC'ing the senders and whether you can collect money on our behalf.

Once you finish with the integration we will have a call to check that your implementation works as expected, and as a minimum supports the following functionalities:

  • Authenticate to our site
  • Create and re-use senders
  • Create and fund transactions
  • Check the status of transactions both via webhooks and manually
  • Handling and cancelling failed transactions

Software Development Kits

To facilitate easier integration with our API, we have SDKs available for the following languages:

Please read our README and the Transaction Flow Guide before going through the implementation, but to make the process of creating a minimum approved integration easier, we encourage you to make use of our SDKs and implement the required steps in this order:

The sandbox environment

All development has to be done on our sandbox environment, which is a fully-fledged environment with some limitations, and some features that can be used to help testing. Please read about these features in out Sandbox environment documentation

Authentication

Please read our Authentication guide on how to register for an API key and how to use it on our site. You can also find example implementations around authentication for some of the major programming languages.

Creating transactions

Please read our guide on creating transactions on how you can create transactions, and the various options you have. Please make sure you already have discussed with us how your transactions will be funded before you start with this task.

Funding transactions

If you are going to have a balance with us, then please read our guide on funding transactions on how you can fund the transaction. Funding the transaction means you approve the amounts that were returned in the transaction and you are happy for us to initate the payout.

Checking transaction status

Once a transaction is funded you can use our webhook facilities to listen in changes in the transaction state. You should listen to both the transaction and the recipient events. On more info about webhooks please see our webhook guide. You should also be able to query transactions manually, but this facility should only be used rarely.

Handling errors

You need to be sure that you can handle transactions where the payout has failed. For a generic guide please see how you receive error messages and how you can cancel recipients and transactions. Note that by default we will never cancel funded transactions without your request but you can enable this feature if you'd like.

Since there can be a wide range of different errors, as a starting implementation we usually propose the following logic:

  • Wait for at least 24 hours after the transaction is funded to see if it has been paid out successfully or not
  • If hasn't been paid out, then please cancel the transaction using the API, and wait for the cancellation to finish
  • If it cannot be cancelled please contact our Customer Service team to investigate

Once you have been successfully integrated with us you can add additional logic for a few specific error messages (for example the ability to change the bank account number if the error states it is invalid). However these are not required for a successful integration, and the logic mentioned above works for most of the cases where there was an error.

Re-using senders

Finally you need to be able to re-use senders. This means any time you wish to create a transaction for the same sender you already used, you should use the same sender ID instead of creating a completely new sender object. For more details please see senders on transactions.

You can’t perform that action at this time.