Only this pageAll pages
Powered by GitBook
1 of 37

Payswiftly API

Loading...

Loading...

Loading...

Payout API

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

International

Add Receiver Account

Receiver

Overview

The Payswiftly Payout API enables businesses to manage automated financial transactions by integrating key payout processes. Here’s a more detailed guide on how to utilize the API:

  1. Authentication: Each request requires an API key for authorization. You will receive this from your account manager.

  2. Create Receivers: Begin by using the Create New Receiver endpoint to create a new receiver profile. This requires the receiver's personal details, such as name, email, and phone number.

  3. Add Bank Accounts: After creating a receiver, associate a receiving account with them using the the appropriate endpoint. You'll need the bank details like the account number and branch information.

  4. Initiate Payouts: Once the receiver and their bank account are set up, initiate a payout using the endpoint. Specify the receiver's ID and the amount to transfer.

  5. Track Transactions: To monitor the status of payouts, you can use the endpoint to check if the payout was successful, pending, or failed.

  6. Webhooks: To handle event-driven updates, such as successful payouts or errors, provide your systems webhook url to your Account Manager. Webhooks will notify your system when an event occurs, enabling real-time tracking.

  7. Error Handling: Every API response includes status codes. The documentation lists possible errors, like invalid parameters or authentication failures, and provides guidance on troubleshooting.

Example Workflow:

  • Authenticate using your API key.

  • Create a receiver with their details.

  • Attach a receiver account to the receiver.

  • Execute the payout.

Authentication

API request must be authorized. This is achieved by including an "x-api-key" and a "signature" in the request headers. The API key is used to identify the SubAccount, while the signature provides a layer of security to verify the request's authenticity.

These are encoded as HTTP headers named

  • x-api-key (Your API key)

KYC Verification for Payout

After successfully creating a new receiver using the Create New Receiver API, the system will automatically send a KYC Verification for Payments email to the email address provided in the request.

What Happens Next?

  1. Email Notification: The receiver will receive an email containing a secure link to complete their KYC (Know Your Customer) verification.

  2. Identity Confirmation: The receiver must click the link in the email to confirm their personal details.

Document Upload: As part of the verification process, the receiver will be required to upload the necessary identification documents.
  • Verification Review: Once the receiver submits their details and documents, the system will review them for compliance before Subaccount can create payout for them.

  • Important Notes:

    • The verification link is time-sensitive and will expire after a set period.

    • If the receiver does not complete the KYC verification, their account KYC status will remain pending for payouts until verification is completed.

    • If the receiver does not receive the email, they should check their spam folder or request a new verification email.

    Webhook Notification: receiverKycUpdate

    Once the receiver successfully completes their KYC verification, the system will trigger a receiverKycUpdate webhook notification. This allows Subaccount to be notified in real time when a receiver is fully verified and eligible for payouts.

    Monitor the payout status.
  • Use webhooks for real-time event notifications.

  • Add Receiver Account
    Create a Payout Transaction
    Get Payout

    New Zealand (NZD)

    Europe (EUR)

    signature (Signature created using your API secret)

    Example

    Header
    Data

    x-api-key

    A24b4fSJ8SKhowxlY

    signature

    1712042205773.da41de13228cafdef8189df03c946a7e2184ce5afbe610753397a869367efcc6

    Javascript Example

    const CryptoJS = require("crypto-js");
    const axios = require("axios");
    
    const apiDomain = "{{API_DOMAIN}}";
    const api_key = "{{API_KEY}}";
    const api_secret = "{{API_SECRET}}";
    
    async function sendRequest () {
        const apiPath = "/api/payout/single";
        const httpMethod = "POST";
    
        let nonce = new Date().getTime();
        const signedPayload = `${nonce}.${api_key}`;
        const expectedSignature = CryptoJS.HmacSHA256(signedPayload, api_secret).toString();
        let sig = nonce + "." + expectedSignature;
    
        try {
    
            const data = {
                receiver_id: "a0bb742e-2b17-4698-be2d-3226c64aec03",
                account_id: "6dea4c0d-7825-4636-a0b0-c4895d451244",
                amount: 2121,
                currency: "AUD",
                reference: "ref2121",
                note: "Payout for Mike 2121"
            };
    
            const resp = await axios(`${apiDomain}${apiPath}`, {
                method: httpMethod,
                headers: {
                    "x-api-key": api_key,
                    "signature": sig,
                },
                data: data
            });
    
            console.log("Result: ", resp.data);
    
        } catch (error) {
            console.log("error", error.response.data);
        }
    }
    
    sendRequest();

    Error Codes

    Receiver

    Code
    Status

    Virtual Card

    Create a new receiver account for receiver

    International Virtual Card Payments will be available 20/04/2025. Please speak with your account manager for more information.

    Create and Issue Virtual Card Receiver Account

    Canada (CAD)

    Account

    Batch

    Payout

    United States of America (USD)

    Balance

    Receiver ID is invalid

    REVR104

    Subaccount ID not found

    REVR105

    Receiver ID not found

    REVR201

    Email already exist

    REVR202

    Subaccount Id is required

    REVR203

    Email is required

    REVR204

    First name is required

    REVR205

    Last name is required

    REVR206

    Dialcode is required

    REVR207

    Phone is required

    REVR208

    Address is required

    REVR210

    City is required

    REVR211

    State is required

    REVR212

    Postcode is required

    REVR213

    Country is required

    REVR214

    Email is not valid

    REVR215

    First name can only contain letters, spaces, apostrophes and hyphens

    REVR216

    Last name can only contain letters, spaces, apostrophes and hyphens

    REVR217

    Gender must match 'F' or 'M'

    REVR218

    Dialcode is not valid

    REVR219

    Phone is not valid

    REVR220

    Address is not valid. Must not contain dot.

    REVR221

    Address 2 is not valid. Must not contain dot.

    REVR222

    City is not valid

    REVR223

    State is not valid

    REVR224

    Postcode is not valid

    REVR225

    Country is not valid. Use alpha-3 code

    REVR226

    Reference already exist

    REVR227

    Subaccount does not exist

    REVR228

    Subaccount does not belong to current merchant

    REVR229

    Address is invalid

    Receiver Account

    Code
    Status

    REAC101

    Receiver Account ID not found

    REAC102

    Receiver Account ID is required

    REAC103

    Receiver Account ID is invalid

    REAC104

    Receiver ID not found

    REAC105

    Receiver Account ID is required

    REAC106

    Receiver Account ID is invalid

    Payout

    Code
    Status

    PAYO101

    Payout ID not found

    PAYO102

    Subaccount id not found

    PAYO103

    Merchant ID not match

    PAYO104

    Subaccount ID is required

    PAYO201

    Receiver not found

    PAYO202

    Merchant not found in receiver

    REVR101

    Receiver ID not found

    REVR102

    Receiver ID is required

    REVR103

    POST /api/receiver-account/<currency>/virtual-card

    Supported Currencies: USD, EUR Country Exclusions: OFAC Listed Countries

    Headers

    Name
    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    receiver_id*

    string

    Receiver ID of receiver account.

    * is mandatory parameter

    Example body request

    Response

    Create New Receiver

    Create a new receiver under a SubAccount for receiving the payout.

    Create a New Receiver

    POST /api/receiver

    Headers

    Name
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "complete",
            "confirm_status": "confirmed",
            "card_type": "mastercard",
            "card_no": "4111111111111111",
            "cvv": "321",
            "expiry_month": "04", // MM
            "expiry_year": "2027" // YYYY
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75"
    }

    REAC201

    Address is invalid

    REAC202

    Bank code is required

    REAC203

    Account number must be a string

    REAC204

    Bank code is not valid

    REAC205

    Account number length must be between 6 and 9 characters

    REAC206

    account_number already exist for this subaccount

    REAC207

    Receiver ID is required

    REAC208

    Account type is required

    REAC209

    BSB is required

    REAC210

    Account number is required

    REAC211

    Receiver ID is not valid

    REAC212

    Account type is not valid

    REAC213

    BSB is not valid

    REAC214

    Account number must be within 6 to 9 digits

    REAC215

    Subaccount method is unavailable

    REAC216

    Create receiver account failed

    REAC217

    Receiver Account data is not valid

    REAC218

    Payout Provider not found

    REAC219

    Receiver Sub Account not found

    REAC220

    Receiver country is not support

    REAC221

    Method is unavailable

    REAC222

    Unsupported classfile

    PAYO203

    Merchant id not match

    PAYO204

    Receiver Account not found

    PAYO205

    Receiver KYC status not completed

    PAYO206

    Method is unavailable

    PAYO208

    Payout amount must larger than <amount> <asset>

    PAYO210

    Receiver ID is required

    PAYO211

    Account ID is required

    PAYO212

    Amount is required

    PAYO213

    Currency is required

    PAYO214

    Amount should be in cent (integer)

    PAYO215

    Currency is not valid

    PAYO216

    Reference can only be 18 characters long

    PAYO217

    Payout provider not found

    PAYO218

    Subaccount feegroup not valid

    PAYO219

    Payout amount must less than <max_fee _amount> <currency>

    Apple Wallet Supported

    Australia (AUD)

    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    subaccount_id*

    string

    Subaccount ID of the receiver user.

    first_name*

    string

    First Name of the receiver user.

    last_name*

    string

    Last Name of the receiver the user.

    middle_name

    string

    Middle Name of the receiver the user.

    * is mandatory parameter

    Example body request

    Response

    Direct Entry

    Create a new receiver account for receiver

    Create a New Direct Entry Receiver Account

    POST /api/receiver-account/aud/direct-entry

    Headers

    Name
    Value

    Body

    Name
    Type
    Description

    * is mandatory parameter

    Example body request

    Response

    Digital Payment

    Create a receiver account for paying a Digital CAD Payment

    Create a New Digital Receiver Account

    POST /api/receiver-account/cad/digital

    Headers

    Name
    Value

    Body

    Name
    Type
    Description

    * is mandatory parameter

    Example body request

    Response

    Verify account data

    Get receiver account data verification

    Verify account by account data

    POST /api/receiver-account/verify

    Headers

    Name
    Value

    Body

    Name
    Type
    Description

    * is mandatory parameter

    Example body request

    Response

    ACH

    Create a receiver account for paying an ACH USD Payment

    Create a New ACH Receiver Account

    POST /api/receiver-account/usd/ach

    Headers

    Name
    Value

    Body

    Name
    Type
    Description

    * is mandatory parameter

    Example body request

    Response

    Get Account Balance

    Get SubAccount Balance

    GET /api/subaccount/balance/<subaccount_id>

    Get asset balance of currently subaccount user.

    Headers

    Name
    Value

    Request query parameter

    Name
    Type
    Description

    * is mandatory parameter

    Example query parameter request

    Response

    Sandbox Test Helper

    Utils API for Sandbox testing

    Sandbox Update a Payout status

    This API is used in the Sandbox environment to manually update the status of a payout or batch for testing. Before using it, ensure that payouts with a new receiver account have completed the account confirmation process. Otherwise, status updates will fail with a "Batch payout not found" error.

    POST /api/test-helpers/status

    Headers

    Name
    Value

    Body

    Name
    Type
    Description

    * is mandatory parameter

    Example body request

    Response

    Webhooks

    Receiver Notifications

    Receiver webhooks provide notifications for events related to receivers, after a receiver is created notifications relating to the receiver and their KYC progress will be sent to your nominated URL. These webhooks ensure that your system stays updated with any changes to receiver information.

    Receiver Webhook Structure Data Type: JSON

    The webhook payload is delivered in JSON format, a structured data format commonly used for APIs. Each payload includes:

    Direct Credit

    Create a new receiver account for receiverDirect Credit

    NZD Direct Credit Payments will be available 10/04/2025. Please speak with your account manager for more information.

    Create a New Direct Credit Receiver Account

    Create a Payout Transaction

    Create a Payout

    Create a Payout

    POST /api/payout/single

    Headers

    Name

    EFT

    Create a receiver account for paying an EFT CAD Payment

    Create a New EFT Receiver Account

    POST /api/receiver-account/cad/eft

    Headers

    Name

    SEPA

    Create a new receiver account for receiver

    Create a New SEPA Receiver Account

    POST /api/receiver-account/eur/sepa

    Headers

    Name
    {
        "message": "Receiver created successfully",
        "payload": {
            "receiver_id": "d81b714c-a082-431a-8935-d0c67ad22c2d",
            "first_name": "David",
            "last_name": "Lahm",
            "email": "[email protected]"
        }
    }
    {
        "message": "There was an error while creating a receiver",
        "error": [
            {
                "code": "REVR201",
                "message": "Email already exist"
            }
        ]
    }
    {
        "subaccount_id": "3dc81811-8cdb-49c6-8f9e-9b25ea4544b7"
        "first_name": "David",
        "last_name": "Lahm",
        "middle_name": "Robert",
        "email":"[email protected]",
        "dob": "1990-03-21",
        "dialcode": "61",
        "phone": "213094857",
        "address": "122 Grenfell St",
        "gender": "M",
        "city": "Adelaide",
        "state": "SA",
        "postcode": "5000",
        "country": "AUS",
        "reference": "david8740"
    }

    email*

    string

    Email of the receiver the user.

    dob*

    string

    Date of Birth of the receiver the user. In the format of YYYY-MM-DD

    dialcode*

    string

    Country Dial Code of the receiver the user. (for example, 61, 353 , and so on)

    phone*

    string

    Phone of the receiver the user.

    address*

    string

    Address of the receiver the user.

    address2

    string

    Additional information related to the street.

    gender

    string

    Gender of the receiver the user.

    city*

    string

    City, town, or another settlement.

    state*

    string

    State, region, district, county or another territorial entity inside a country.

    postcode*

    string

    Address postal code.

    country*

    string

    Alpha-3 country code (for example, DEU, GBR, ARG, and so on).

    reference

    string

    Your reference for the receiver. This is usually a unique ID in your system.

    x-api-key

    <token>

    signature

    <token>

    receiver_id*

    string

    Receiver ID of receiver account.

    bsb*

    string

    BSB of receiver account.

    account_number*

    string

    Account number of receiver account.

    x-api-key

    <token>

    signature

    <token>

    receiver_id*

    string

    Receiver ID of receiver account.

    recipient*

    email

    Email address of recipient.

    name*

    string

    Name of recipient.

    description

    string

    Optional description for receiver account.

    x-api-key

    <token>

    signature

    <token>

    subaccount_id*

    string

    Subaccount ID of receiver account.

    account_data*

    object

    Account data to retrieve account info.

    x-api-key

    <token>

    signature

    <token>

    receiver_id*

    string

    Receiver ID of receiver account.

    routing_number*

    string

    Routing Number of the Receiver's bank account

    account_number*

    integer

    Account Number of the Receiver's bank account

    account_type*

    string

    "checking" or "savings" only

    x-api-key

    <token>

    signature

    <token>

    asset*

    string

    Asset to get balance

    {
        "message": "balance found",
        "payload": {
            "available": 958638,
            "pending": 17526,
            "asset": "AUD"
        }
    }
    {
        "message": "Get balance failed",
        "error": [
            {
                "code": "SUBA304",
                "message": "Asset is not valid"
            }
        ]
    }

    x-api-key

    <token>

    signature

    <token>

    id*

    string

    Payout ID or Batch ID to update status.

    type*

    string

    Type to update.

    payout to make update a payout

    or batch to make update all payout in batch.

    status*

    string

    Status of payout to update. success or fail

    receiver_id

    String

    Unique ID of the updated receiver.

    subaccount_id

    String

    Unique ID of the updated receiver's subaccount.

    kyc_status

    String

    Status of the current KYC progress.

    timestamp

    Integer

    Unix timestamp of the event.

    Account Notification Event

    Event
    Description

    receiverKycUpdate

    Indicates that the recipient's KYC (Know Your Customer) status has been updated.

    Receiver Notification Status

    Status
    Description

    pending

    Customer has been sent the request to complete their KYC.

    completed

    Customer has successfully completed their KYC verification and can now receive payouts.

    failed

    Customer has failed their KYC verification. If you believe this to be an error please contact your Payswiftly Account Manager.

    Example

    Variable

    Type

    Description

    event

    String

    The event will following current progress of this receiver.

    POST /api/receiver-account/nzd/direct-credit

    Headers

    Name
    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    receiver_id*

    string

    Receiver ID of receiver account.

    account_number*

    string

    In format of BBBBBB-AAAAAAA-SSS * *

    * is mandatory parameter * * BBBBBB = Bank & branch code (6 digits) , AAAAAAA = Account number (7 digits), SSS = Suffix (2-3 digits)

    Example body request

    Response

    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    receiver_id*

    string

    Receiver ID of receiver account.

    routing_number*

    string

    Routing Number of the Receiver's bank account

    account_number*

    integer

    Account Number of the Receiver's bank account

    account_type*

    string

    "checking" or "savings" only

    * is mandatory parameter

    Example body request

    Response

    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    receiver_id*

    string

    Receiver ID of receiver account.

    iban*

    string

    IBAN of receiver account.

    bic*

    string

    BIC/SWIFT Code of receiver account.

    * is mandatory parameter

    Example body request

    Response

    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "bsb": "012002",
        "account_number": "111136"
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "recipient": "[email protected]",
        "name": "John Doe Inc."
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "subaccount_id": "ccb93d70-00d0-4ec4-a454-32bfc8e8428f",
        "account_data": {
            "account_number": "111888"
        }
    }
    {
        "exists": true,
        "receiver_id": "b367730a-6837-43e9-9b19-af910f4b8000",
        "account_id": "cdad7781-4169-4129-940d-c15077a46e86",
        "account_data": {
            "bsb": "012 ***",
            "account_number": "111 ***"
        }
    }
    {
        "message": "Missing or invalid subaccount_id or account_data"
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "routing_number": "021000128", // 9 digits and startig with '0'
        "account_number": "123456789", // 9 digits
        "account_type": "checking" // Can be either "checking" or "savings"
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    /api/subaccount/balance/3dc81811-8cdb-49c6-8f9e-9125ea4540b0?asset=aud
    {
        "id": "c111f9ee-5a42-496c-94ad-9645ebd2004b", // payout_id or batch_id
        "type": "payout", // payout or batch
        "status": "success" // success or fail
    }
    {
        "statusCode": 200,
        "message": "Test helper: Update payout status is successful"
    }
    {
        "event": "receiverKycUpdate",
        "receiver_id": "e4908c83-6656-408a-8ba2-61dae8f039a5",
        "subccount_id": "ccb93d70-00d0-4ec4-a454-32bfc8e8428f",
        "kyc_status": "completed",    
        "timestamp": 1710091428000
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "account_number": "123456-0789123-00"
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "routing_number": "000102959", // 9 digits and startig with '0'
        "account_number": "123456789", // 9 digits
        "account_type": "checking" // Can be either "checking" or "savings"
    }
    {
        "message": "Receiver account created successfully",
        "payload": {
            "receiver_account_id": "c7ded40b-1524-49f4-ae3f-ee974cbe6fdd",
            "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
            "status": "pending",
            "confirm_status": "unconfirmed"
        }
    }
    {
        "message": "There was an error while creating a receiver account",
        "error": [
            {
                "code": "REAC211",
                "message": "Receiver ID is not valid"
            }
        ]
    }
    {
        "receiver_id": "a2bb66db-7067-44a2-8067-1393b682bc75",
        "iban": "DE89370400440532013000",
        "bic": "DEUTDEFFXXX"
    }
    Value

    x-api-key

    <token>

    signature

    <token>

    Body

    Name
    Type
    Description

    receiver_id*

    string

    Receiver ID to make payout.

    account_id*

    string

    Account ID to make payout.

    amount*

    string

    Amount ID to make payout in Cent.

    currency*

    string

    Currency ID to make payout.

    * is mandatory parameter

    Example body request

    Response

    Webhooks

    Account Notifications

    Account Webhook Structure Data Type: JSON

    The webhook payload is delivered in JSON format, a structured data format commonly used for APIs. Each payload includes:

    Variable

    Type

    Description

    event

    String

    The event will following current progress of this account.

    bsb

    String

    BSB number for this account.

    Account Notification Event

    Event
    Description

    Account Notification Status

    Status
    Description

    Example

    Webhooks

    Payout Notifications

    Payout webhooks notify your system of important payout events, such as when a payout is successfully processed or if it fails. This allows for real-time updates, ensuring your system remains synchronized with transaction statuses.

    Payout Webhook Structure Data Type: JSON

    The webhook payload is delivered in JSON format, a structured data format commonly used for APIs. Each payload includes:

    Get Receiver Bank Account

    Get Receiver Account By ID

    GET /api/receiver-account/<id>

    Get receiver account data under subaccount by ID.

    Headers

    Name

    Webhooks

    Batch Notifications

    Batch Webhook Structure Data Type: JSON

    The webhook payload is delivered in JSON format, a structured data format commonly used for APIs. Each payload includes:

    Variable
    Type
    Description
    {
        "message": "Payout created successfully",
        "payload": {
            "payout_id": "44389fbd-5931-431a-bcac-cfb73ccc6494"
        }
    }
    {
        "message": "There was an error while creating a payout",
        "error": [
            {
                "code": "PAYO201",
                "message": "Receiver not found"
            }
        ]
    }
    {
        "receiver_id": "f85cbb74-6af7-43cb-b0a2-b5e5b9838de6",
        "account_id": "ad5ac900-ac63-4e60-894b-1de10f04f876",
        "amount": 2000, // cent
        "currency": "AUD",
        "reference": "ref-16aud",
        "note": "Payout for Frank"
    }

    reference

    string

    Reference of payout.

    note

    string

    Note of payout.

    account_number

    String

    Account number for this account.

    receiver_id

    String

    Unique ID of the updated account owner.

    receiver_account_id

    String

    Unique ID of the updated account.

    status

    String

    Status of the current account.

    confirm_status

    String

    Confirm status of the current account from receiver.

    timestamp

    Integer

    Unix timestamp of the event.

    accountCreated

    Indicates that a new account has been successfully created.

    accountUpdate

    Indicates that an existing account has been updated.

    unconfirmed

    Receiver has not yet confirmed the bank details sent for payout via email/ SMS.

    confirmed

    Receiver has confirmed the bank details sent for payout via email or SMS.

    Integer

    Payout amount in cent.

    currency

    String

    Currency of this payout.

    payout_id

    String

    Unique ID of the updated payout.

    batch_id

    String

    (Optional) Unique ID of the updated payout's batch.

    batch_run_time

    Integer

    (Optional) Unix timestamp of the batch running time.

    receiver_account_id

    String

    Unique ID of the updated payout's receiver account.

    receiver_id

    String

    Unique ID of the updated payout's receiver.

    reference

    String

    Reference of this payout.

    status

    String

    Status of the current payout progress.

    subccount_id

    String

    Unique ID of the updated payout's subaccount.

    timestamp

    Integer

    Unix timestamp of the event.

    Payout Notification Event

    Event
    Description

    payoutCreated

    Indicates that a new payout has been created.

    payoutUpdated

    Indicates that an existing payout has been updated.

    payoutFailure

    Indicates that a payout attempt has failed.

    Payout Notification Status

    Status
    Description

    awaiting

    Payout is waiting for the receiver to confirm their bank details.

    pending

    Payout in pending for processing time.

    in_progress

    Payout is currently in progress.

    successful

    Payout has been successfully completed.

    cancelled

    Payout has been cancelled.

    failed

    Payout process has been failed.

    Example

    Variable

    Type

    Description

    event

    String

    The event will following current progress of this payout.

    amount

    currency

    String

    Currency of this batch.

    batch_id

    String

    Unique ID of the updated batch.

    status

    String

    Status of the current batch progress.

    batch_run_time

    Integer

    Unix timestamp of the batch running time.

    batch_reference

    String

    Reference of this batch.

    process_amount

    Integer

    Actual batch total amount in cent when batch processed.

    total_failed

    Integer

    Total of failed payout records.

    total_tx

    Integer

    Total of payout records.

    subccount_id

    String

    Unique ID of the updated batch's subaccount.

    created_at

    Integer

    Unix timestamp when batch record created.

    timestamp

    Integer

    Unix timestamp of the event.

    Batch Notification Event

    Event
    Description

    batchUpdate

    Indicates that batch have been updated in a single operation.

    Batch Notification Status

    Status
    Description

    open

    Batch is in the open for new created payout.

    queue

    Batch is in the queue, waiting to be processed.

    in_progress

    Batch is currently in progress.

    settled

    Batch has been successfully settled.

    cancelled

    Batch has been cancelled.

    failed

    Batch process has failed.

    Example

    event

    String

    The event will following current progress of this batch.

    amount

    Integer

    Batch total amount in cent.

    {
        "event": "accountCreated",
        "bsb": "***003",
        "account_number": "****2179",
        "receiver_id": "3971f24a-b901-4bdb-b3a5-7690ca350cd3",
        "receiver_account_id": "6afec8ad-c026-463b-9f09-f60adfae10a0",
        "status": "completed",
        "confirm_status": "unconfirmed",
        "timestamp": 1710091428000
    }
    {
        "event": "payoutUpdate",
        "amount": 2000,
        "currency": "AUD",
        "payout_id": "3971f24a-b901-4bdb-b3a5-7690ca350cd3",
        "batch_id": "b4ac0283-354c-4008-9b25-0338198b6fa0",
        "batch_run_time": 1710282140000,
        "receiver_account_id": "6afec8ad-c026-463b-9f09-f60adfae10a0",
        "receiver_id":"e4908c83-6656-408a-8ba2-61dae8f039a5",
        "reference": "ref-a00020",
        "status": "successful",
        "subccount_id": "ccb93d70-00d0-4ec4-a454-32bfc8e8428f",
        "timestamp": 1710091428000
    }
    {
        "event": "batchUpdate",
        "amount": 2440,
        "currency": "AUD",
        "batch_id": "13b2bbf5-fc4e-4882-8dfc-04d760b4d60b",
        "status": "queue",
        "batch_run_time": 1724965200000,
        "batch_reference": "BATCH_13b2bbf5-fc4e-4882-8dfc-04d760b4d60b",
        "process_amount": 0,
        "total_failed": 0,
        "total_tx": 1,
        "subccount_id": "3dc81811-8cdb-49c6-8f9e-9125ea4540b0",
        "created_at": 1710084228000,
        "timestamp": 1710091428000
    }
    Value

    x-api-key

    <token>

    signature

    <token>

    Example request

    Response

    {
        "message": "Receiver Account found",
        "payload": {
            "id": "6dea4c0d-7825-4636-a0b0-c4895d451244",
            "email": "[email protected]",
            "asset": "AUD",
    

    Get Receiver Account List From Receiver

    GET /api/receiver-account/receiver/<id>

    Get receiver account from receiver.

    Headers

    Name
    Value

    x-api-key

    <token>

    signature

    <token>

    Example request

    Response

    {
        "message": "Get receiver account failed",
        "error": [
            {
                "code": "REAC104",
                "message": "Receiver ID not found"
            }
        ]
    }
    {
        "message": "Receiver Account found",
        "payload": [
            {
                "id": "6dea4c0d-7825-4636-a0b0-c4895d451244",
                "email": "[email protected]",
                "asset": "AUD",
                "method_name": "direct-entry",
                "reference": "4464",
                "address_data": {
                    "address": "111/22222",
                    "address2": "Paklok Rd",
                    "city": "Phuket",
                    "state": "PK",
                    "country": "THA",
                    "postcode": "83110"
                },
                "account_data": {
                    "account_number": "***** 1136",
                    "bsb": "*** 002"
                }
            },
            {
                "id": "e5b088e1-cf4a-4e91-bb65-3c7e07b9b314",
                "email": "[email protected]",
                "asset": "AUD",
                "method_name": "direct-entry",
                "reference": "5589",
                "address_data": {
                    "address": "88/99999",
                    "address2": "Evergreen Terrace",
                    "city": "Springfield",
                    "state": "SP",
                    "country": "USA",
                    "postcode": "49007"
                },
                "account_data": {
                    "account_number": "***** 4455",
                    "bsb": "*** 200"
                }
            }
        ]
    }
    {
        "message": "Get receiver account failed",
        "error": [
            {
                "code": "REAC101",
                "message": "Receiver Account ID not found"
            }
        ]
    }
    /api/receiver-account/6dea4c0d-7825-4636-a0b0-c4895d451244
    /api/receiver-account/receiver/a6980641-e785-447a-960d-036bd29c5ece
    "method_name": "direct-entry",
    "reference": "4464",
    "address_data": {
    "address": "111/22222",
    "address2": "Paklok Rd",
    "city": "Phuket",
    "state": "PK",
    "country": "THA",
    "postcode": "83110"
    },
    "account_data": {
    "account_number": "***** 1136",
    "bsb": "*** 002"
    }
    },
    }

    Get Payout

    Get Payout by ID

    GET /api/payout/<id>

    Get Payout by ID

    Headers

    Name
    Value

    Example request

    Response

    Get Payout list

    GET /api/payout/

    Get Payout list

    Headers

    Name
    Value

    Request query parameter

    Name
    Type
    Description

    2 * is mandatory parameter

    Example query parameter request

    Response

    Get Current Account

    Get SubAccount

    GET /api/subaccount/<subaccount_id>

    Get data of subaccount user.

    Headers

    Name

    status

    string

    Filter by payout status.

    0 = AWAITING 1 = PENDING 2 = UNASSESSED 3 = IN_PROGRESS 4 = SUCCESSFUL 5 = CANCELLED 6 = FAILED 7 = SUCCESSFUL_PENDING_KYC

    x-api-key

    <token>

    signature

    <token>

    x-api-key

    <token>

    signature

    <token>

    subaccount_id*

    string

    Subaccount ID

    limit

    string

    Limit of request data.

    from

    string

    Filter by create date from in format 'YYYY-MM-DD hh:mm'.

    to

    string

    Filter by create date to in format 'YYYY-MM-DD hh:mm'.

    {
        "message": "Payout found",
        "payload": {
            "id": "3971f24a-b901-4bdb-b3a5-7690ca350cd3",
            "created_at": "1710144053053",
            "provider_reference": "dev-ref-a00020",
            "batch_id": "",
            "asset": "AUD",
            "reference": "dev-ref-a00020",
            "merchant": "MERC#9f05dc98-47bd-47f2-a039-8d9889fdfb7a",
            "fee_data": {
                "fee_value": "200",
                "feetemplate_id": "10543412-9de9-4adb-814c-60fd5ea4aba8",
                "fixed": 0,
                "feegroup_id": "4d8d52ee-47e8-425b-9677-878b127147b9",
                "percentage": 10,
                "min_amount": 20
            },
            "note": "devid a00020",
            "payout_data": {
                "status": "IN PROGRESS",
                "transaction_is_duplicated": false,
                "receiver_is_invalid": false,
                "accepted": true,
                "errors": null,
                "transaction_id": "20020105",
                "sender_is_invalid": false
            },
            "status": "successful",
            "amount": 2000,
            "subaccount": {
                "id": "ccb93d70-00d0-4ec4-a454-32bfc8e8428f"
            },
            "receiver": {
                "id": "e4908c83-6656-408a-8ba2-61dae8f039a5",
                "firstname": "Devid-A",
                "lastname": "Tesla",
                "email": "[email protected]"
            },
            "receiver_account": {
                "id": "6afec8ad-c026-463b-9f09-f60adfae10a0",
                "email": "[email protected]",
                "bsb": "012002",
                "bank_code": "ANZ",
                "account_number": "223344556677"
            },
            "payout_provider": {
                "id": "eb68d16a-d395-4acd-a8bf-d01de92f949b"
            },
            "transactions": [
                {
                    "transaction_id": "6af8c51c-e8d6-4ba5-b3d7-c966b9f14fb9",
                    "amount": -1800,
                    "asset": "AUD",
                    "status": "complete",
                    "created_at": "1710144077857",
                    "updated_at": "1710144379146",
                    "transaction_type": "payout"
                },
                {
                    "transaction_id": "4eefc21c-286e-48d9-82a8-788bfbd4175f",
                    "amount": -200,
                    "asset": "AUD",
                    "status": "complete",
                    "created_at": "1710144077857",
                    "updated_at": "1710144379226",
                    "transaction_type": "fee"
                }
            ]
        }
    }
    /api/payout/3971f24a-b901-4bdb-b3a5-7690ca350cd3
    {
        "message": "Get payout failed",
        "error": [
            {
                "code": "PAYO101",
                "message": "Payout ID not found"
            }
        ]
    }
    /api/payout?subaccount_id=3dc81811-8cdb-49c6-8f9e-9125ea4540b0&from=2024-02-08 09:00&to=2024-03-11 06:21&limit=1
    {
        "message": "Payout found",
        "payload": [
            {
            "id": "ce74a54d-cd7d-475b-8213-b70a7a9c47e0",
            "created_at": "1707384569939",
            "provider_reference": "ref-22aud",
            "batch_id": "",
            "asset": "AUD",
            "reference": "ref-22aud",
            "fee_data": {
                "feetemplate_id": "10543412-9de9-4adb-814c-60fd5ea4aba8",
                "fixed": 0,
                "feegroup_id": "4d8d52ee-47e8-425b-9677-878b127147b9",
                "percentage": 10,
                "min_amount": 20
            },
            "note": "22 AUD payout",
            "payout_data": {
                "status": "PENDING",
                "transaction_is_duplicated": false,
                "receiver_is_invalid": false,
                "accepted": true,
                "errors": null,
                "transaction_id": "20019915",
                "sender_is_invalid": false
            },
            "status": "pending",
            "amount": "2200",
            "subaccount": {
                "id": "ccb93d70-00d0-4ec4-a454-32bfc8e8428f"
            },
            "receiver": {
                "id": "617fc7a4-70e2-47d3-a5b0-84a5bc17a4a0",
                "firstname": "Exel",
                "lastname": "Receiver",
                "email": "[email protected]"
            },
            "receiver_account": {
                "id": "fdf427df-1093-4d77-84a7-b08ac67f453f",
                "email": "[email protected]",
                "bsb": "012040",
                "bank_code": "ANZ",
                "account_number": "111111222255"
            },
            "payout_provider": {
                "id": "eb68d16a-d395-4acd-a8bf-d01de92f949b"
            }
        ],
        "lastkey": "eyJlbnRpdHkiOiJQQVlPIyIsIlBLIjoiUEFZTyM2ODNlN2UwMS0yOWI2LTQ4ZDMtOTNlZi1kODIyNzU3ZmIxOWUiLCJTSyI6IlJFVlIjMTkwNjgwZTEtZjRjNC00ZTkwLTkyOTgtODA3M2NlZWY5MmVlIiwiY3JlYXRlZF9hdCI6IjE3MTkzNjU5MTEwMzUifQ=="
    }
    Value

    x-api-key

    <token>

    signature

    <token>

    Example query parameter request

    Response

    {
        "message": "Subaccount found",
        "payload":
            {
                "id": "fa9c386d-5dce-4b81-a50d-769386360aff",
                "merchant_id": "df28d384-6a44-47aa-887d-5a2560fc697d",
                "suba_name": 
    

    Get Receiver

    Get Receiver By ID

    GET /api/receiver/<id>

    Get a receiver data under subaccount by ID.

    Headers

    Name
    Value

    Example request

    Response

    Get Receiver list

    GET /api/receiver

    Get receiver list under subaccount.

    Headers

    Name
    Value

    Request query parameter

    Name
    Type
    Description

    * is mandatory parameter

    Example query parameter request

    Response

    {
        "message": "Get SubAccount failed",
        "error": [
            {
                "code": "SUBA101",
                "message": "SubAccount not found"
            }
        ]
    }
    /api/subaccount/3dc81811-8cdb-49c6-8f9e-9125ea4540b0
    "Sandbox subaccount"
    ,
    "title": "Mr.",
    "first_name": "Sandbox",
    "last_name": "Teslastudio",
    "email": "[email protected]",
    "dob": "1989-10-20",
    "kassi_status": "ACCEPTED",
    "business_name": "Teslastudio Demo A",
    "business_or_individual": "B",
    "support_email": "[email protected]",
    "mobile_dialcode": "+61",
    "mobile": "483908899",
    "home_phone_international_dialcode": "+61",
    "home_telephone": "434343434",
    "address_data": {
    "address": "443 Sri Ayudhya Road",
    "suburb": "Bangkok",
    "state": "Ratchathewi",
    "country": "THA",
    "postcode": "10400"
    },
    "has_passed_kyc": "N/A",
    "kyc_status": "pending",
    "postback_url": "https://eobmbgwd9o1xe0t.m.pipedream.net",
    "sms_provider": "cellcast",
    "email_provider": "sendgrid",
    "created_at": "1707799593596"
    }
    }

    first_name

    string

    Filter by first name

    last_name

    string

    Filter by last name

    middle_name

    string

    Filter by middle name

    gender

    string

    Filter by gender M = Male F = Female

    dob

    string

    Filter by date of birth format 'YYYY-MM-DD'

    email

    string

    Filter by email

    dialcode

    string

    Filter by dial code

    phone

    string

    Filter by phone number

    address

    string

    Filter by address

    address2

    string

    Filter by address2

    city

    string

    Filter by city

    state

    string

    Filter by state

    country

    string

    Filter by country in alpha-3 codes AUS

    postcode

    string

    Filter by postcode

    reference

    string

    Filter by receiver reference

    lastkey

    string

    Lastkey to get next page of request data list

    x-api-key

    <token>

    signature

    <token>

    x-api-key

    <token>

    signature

    <token>

    subaccount_id*

    string

    Subaccount ID

    limit

    string

    Limit of request data.

    status

    string

    Filter by receiver status. 0 = CREATING 1 = PENDING 2 = ACTIVE 3 = INACTIVE 4 = FAILED

    kyc_status

    string

    Filter by receiver KYC status. 0 = PENDING 1 = COMPLETED 2 = FAILED

    {
        "message": "Receiver found",
        "payload": {
            "id": "8ae6b25e-d08f-4391-84ae-fa7bd061b9ee",
            "first_name": "Xcel",
            "last_name": "Tesla",
            "middle_name": "",
            "email": "[email protected]",
            "gender": "M",
            "dob": "1973-12-12",
            "dialcode": "61",
            "phone": "483908899",
            "applicant_id": "65f272e2341af77124132294",
            "kyc_status": "pending",
            "status": "pending",
            "created_at": "1710387933592",
            "address_data": {
                "address": "992A Stanley St E",
                "address2": "",
                "city": "East Brisbane",
                "state": "QLD",
                "country": "AUS",
                "postcode": "6008"
            },
            "reference": "ref-xcel"
        }
    }
    /api/receiver/8ae6b25e-d08f-4391-84ae-fa7bd061b9ee
    {
        "message": "Get receiver failed",
        "error": [
            {
                "code": "REVR101",
                "message": "Receiver ID not found"
            }
        ]
    }
    /api/receiver?subaccount_id=3dc81811-8cdb-49c6-8f9e-9125ea4540b0&status=2&kyc_status=1&limit=2
    {
        "message": "Receiver found",
        "payload": [
            {
              {
                "id": "7e4b88bf-9b99-4d3e-8a93-dc5e91b6ce2c",
                "first_name": "Marina",
                "last_name": "Quartz",
                "middle_name": "",
                "email": "[email protected]",
                "gender": "F",
                "dob": "1986-07-24",
                "dialcode": "44",
                "phone": "7712345678",
                "kyc_status": "pending",
                "status": "pending",
                "created_at": "1710023456789",
                "address_data": {
                    "address": "111/22222",
                    "address2": "Paklok Rd",
                    "state": "PK",
                    "city": "Phuket",
                    "country": "THA",
                    "postcode": "83110"
                },
                "reference": "ref-marina-1"
            },
            {
                "id": "9b3773e1-cb8e-4b9a-bc68-4e5011b8d30f",
                "first_name": "Leonardo",
                "last_name": "Fibonacci",
                "middle_name": "",
                "email": "[email protected]",
                "gender": "M",
                "dob": "1990-03-14",
                "dialcode": "39",
                "phone": "4881234567",
                "kyc_status": "pending",
                "status": "pending",
                "created_at": "1710112233445",
                "address_data": {
                    "address": "55/66666",
                    "address2": "Renaissance Road",
                    "state": "RR",
                    "city": "Florence",
                    "country": "ITA",
                    "postcode": "50125"
                },
                "reference": "ref-leonardo-1"
            }
        ],
        "lastkey": "eyJlbnRpdHkiOiJSRVZSIyIsIlBLIjoiUkVWUiMyZTg1MGY1ZS1iMzQ2LTRlOWEtYjhkNi1hYWVjMzE5YTkwOWQiLCJTSyI6IlNVQkEjM2RjODE4MTEtOGNkYi00OWM2LThmOWUtOTEyNWVhNDU0MGIwIiwiY3JlYXRlZF9hdCI6IjE3MTk5ODAzOTM4MTYifQ=="
    }