The eWallet option eliminates uncertainty around payments by transferring funds directly to i-payout-hosted wallets. Beneficiaries can select from a variety of payout options best suited to their country or location, offering flexibility and convenience. Additionally, the eWallet supports multiple currencies, all within a single app.

The usual workflow for integrating with the hosted solution involves the following steps:

Step 1: Authenticate: Obtain an API token by validating your credentials.

Step 2: Create beneficiary: Create and manage beneficiary's accounts using API calls.

Step 3: Make Payout: Use the API to send funds to your beneficiaries' eWallets.

API Endpoints Used

In this guide, you will use the following API endpoints:

📘

Recipe

You can also follow our recipe by clicking the link below:

Step 1: Authenticate

To start using i-payout solutions, you will need to authenticate with your API Token. Refer to the Get a Token guide to learn how to:

Step 2: Create Beneficiary

A beneficiary is an individual designated to receive funds or payments through the i-payout system. To create a beneficiary, you will need to provide detailed information about the individual, such as their name, address, and payment details.

Use the Create Beneficiary endpoint to create a new beneficiary. The request should include all necessary details about the beneficiary in the request body and, as shown in Step 1, include the authentication to access the i-payout API. Below, you will find an example request to create a new beneficiary:

curl --request POST \
     --url "https://merchantapi.testewallet.com/api/v1/beneficiaries" \
     --header 'Authorization: Bearer <YOUR_API_TOKEN>' \
     --header 'X-MerchantId: <YOUR_MERCHANT_ID>' \
     --header 'accept: application/json' \
     --header 'content-type: application/*+json' \
     --data '{
        "username": "john_doe",
        "firstName": "John",
        "lastName": "Doe",
        "emailAddress": "[email protected]"
    }'
{
  "data": {
    "customerToken": "e0e4764b-9619-4deb-95c4-108ce9f0fe04"
  },
  "isSuccess": true,
  "message": "Customer created successfully",
  "statusCode": 0,
  "logIdentifier": "497b73624c0d47bfb0abf58df5dd99ca"
}

Step 3: Make Payout

With the new beneficiaries created in the system, you can now pay them. This is done by making payouts to their eWallets, and the eWallet will allow them to choose how to withdraw their money. Payouts are created with the Make Payouts endpoint. This endpoint allows you to create multiple payouts in a single request. Below, you will find an example request to make payouts:

curl --request POST \
     --url "https://merchantapi.testewallet.com/api/v1/payouts" \
     --header "Authorization: Bearer <YOUR_API_TOKEN>" \
     --header "Content-Type: application/json" \
     --header "X-MerchantId: <YOUR_MERCHANT_ID>" \
     --data '{
         "partnerBatchId": "batch_001",
         "poolId": "pool_123",
         "allowDuplicates": true,
         "autoLoad": true,
         "currencyCode": "USD",
         "arrAccounts": [
             {
                 "username": "john_doe",
                 "amount": 200,
                 "merchantReferenceId": "789012"
             }
         ]
     }'
{
  "isSuccess": true,
  "message": "Payout created successfully",
  "statusCode": 200,
  "logIdentifier": "log_abc123def456",
  "data": {
    "batchId": "batch_001"
  }
}

🚧

Atomic Request

Keep in mind that the create payout request is treated as an atomic transaction by the system, meaning that if one record fails, all payouts will fail to load. You will need to fix the failure reason and retry to create all records.

Other Available Payout Methods

Follow the links below to learn more about other available payout methods: