API Docs
  • Introduction
  • Credential
  • Error Codes
  • Token Validation
  • Signature Validation
  • Quick Start
    • Accepting via Payment Page
    • Accepting Using Own Page
    • Paying Out
  • ACCOUNT
    • Pool Balance
  • Cloud Payment
    • Payment Service
    • Collection
      • Create Collection
      • Manage
        • Get Collection List
        • Get a Collection
        • Update Collection
        • Activate Collection
        • Deactivate Collection
        • Delete Collection
    • Bill
      • Create Bill
      • Callback
      • Manage
        • Get Bill List
        • Get a Bill
        • Get Bill Transaction Status
        • Update Bill
        • Delete Bill
    • Transaction List
    • Transaction Status
  • Payout
    • Payout Service
    • Payout Transaction List
    • Create Payout
    • Payout Status
      • Callback
      • Status Checking
    • Bank Account Verification
      • Bank Verification Channel ( Deprecated )
      • Bank Account Validation
  • Suite Plugin
    • Woocommerce
    • Open Cart
  • Library
    • Credit Card
  • SUPPORT
    • Frequently Asked Question
Powered by GitBook
On this page
  • Authentication
  • Step 1 : Getting Payout Service List
  • Step 2 : Create Payout Request
  • Step 3 : Getting Payout Status
  1. Quick Start

Paying Out

PreviousAccepting Using Own PageNextPool Balance

Last updated 2 months ago

By following these steps, you can seamlessly integrate a instant payout function via DuitNow network to any bank and e-wallet account holder in Malaysia.

Authentication

LeanX uses Auth Token to authenticate in each request's header.

Auth Token can be retrieved in your portal dashboard under API page.

Request Header

{
    "auth-token": "LP-0D7C06DE-MM|7394e58e-edee-4c42-9ca5-bcbc449f1b9f|2141df4a3cb633d5ce8683bb0c55067e5caebfbe07390dde277dc455bcc95c91723a81b5e565c7c02d68fb84e396722563016bf99e576a4b8cdbe4423fbf226b"
}

Step 1 : Getting Payout Service List

Please note that our payout service only extends to Web Payment (FPX) B2C only.

You are advised to verify the recipient before proceeding with the transfer. We have provided bank verification endpoints which you can view via the link below.

HTTP Method: POST

https://api.leanx.dev/api/v1/merchant/list-payout-services

Request Body

no request body

Response

{
  "response_code": 2000,
  "description": "SUCCESS",
  "app_version": "/api/v1",
  "talk_to_server_before": "2023-11-28T18:00:18.547062",
  "data": {
    "list": {
      "draw": 30,
      "record_total": 30,
      "record_filtered": 30,
      "data": [
        {
          "SWITCH_PAYOUT_WEBPAY": [
            {
              "payout_service_id": 1,
              "payment_model_reference_id": 1,
              "payment_model_reference": "B2C",
              "unique_reference": "PAYOUT_MBSB_BANK_WEBPAY",
              "payment_service": "SWITCH_PAYOUT_WEBPAY",
              "name": "MBSB BANK BERHAD",
              "record_status_id": 1,
              "record_status": "ACTIVE"
            },
            .....
            {
              "payout_service_id": 2,
              "payment_model_reference_id": 1,
              "payment_model_reference": "B2C",
              "unique_reference": "PAYOUT_AGROBANK_WEBPAY",
              "payment_service": "SWITCH_PAYOUT_WEBPAY",
              "name": "BANK PERTANIAN MALAYSIA BHD (AGROBANK)",
              "record_status_id": 1,
              "record_status": "ACTIVE"
            }
          ]
        }
      ],
      "next_page_start": null,
      "next_page_length": null,
      "previous_page_start": null,
      "previous_page_length": null
    }
  },
  "breakdown_errors": null,
  "token": ""
}

Step 2 : Create Payout Request

HTTP Method: POST

https://api.leanx.dev/api/v1/merchant/create-payout-invoice

Request body

{
  "virtual_pool_reference": "VA-8F9FD0-132317969417-PAYOUT",
  "payout_service_id": 23,
  "amount": 13.00,
  "recipient_name": "John Doe",
  "client_callback_url": "https://www.yourdomain.com/api-callback-url",
  "third_party_account_no": "8011408168",
  "external_invoice_ref": "INVOICE1234",
  "recipient_reference": "test"
}

Attribute

Property
Type
Description

virtual_pool_reference*

String

Your virtual pool reference can be found in the portal under Pool Fund Page

payout_service_id*

Number

amount*

Decimal (10,2)

The amount that you want to payout.

recipient_name

String

Required

client_callback_url*

String

Callback url after the payout is made.

third_party_account_no*

String

Account number of the recipient

external_invoice_ref

String

Reference to your own invoice ID. Can be use to query back the payout status

recipient_reference*

String

Recipient reference for the transfer

Response

{
  "response_code": 2000,
  "description": "SUCCESS",
  "app_version": "/api/v1",
  "talk_to_server_before": "2023-12-05T17:43:07.620538",
  "data": {
    "status": "SUCCESS",
    "invoice_no": "PAYOUT-A9D5:174307-LEANX"
  },
  "breakdown_errors": "",
  "token": "18e0933d-6bc1-4808-9bc7-aad2bcd38686"
}

Step 3 : Getting Payout Status

HTTP Method: POST

https://api.leanx.dev/api/v1/merchant/get-payout-transaction-by-id

Request Query

?_id=PAYOUT-A9D5:174307-LEANX
?_id=INVOICE1234

You may choose to search for transaction status based on payout id (given by the system) or external_invoice_ref (given by your side upon create payout request) based on necessity. However, it is advisable to always search based on external_invoice_ref to ensure that your internal record and payout request is in-sync.

Attributes

Property
Type
Description

_id

String

Payout invoice number that you want to get the status or external invoice reference added upon create payout request

Response

{
  "response_code": 2000,
  "description": "SUCCESS",
  "app_version": "/api/v1",
  "talk_to_server_before": "2023-12-05T18:02:55.948983",
  "data": {
    "payout_invoice_no": "PAYOUT-A9D5:174307-LEANX",
    "merchant_invoice_id": "VA-F04EC4-164712020277-PAYOUT",
    "id": 419,
    "payout_account_number": "8011408168",
    "transaction_fee": 0.00,
    "account_id": 3,
    "record_status": 1,
    "updated_at": "2023-12-05T17:44:05",
    "switch_invoice_id": "VP1678085468bA52B",
    "transaction_invoice_no": "PAYOUT1701769387uG4ENyls",
    "transaction_status": "SUCCESS",
    "value": 13.00,
    "switch_transaction_fee": 0.00,
    "api_key": "18e0933d-6bc1-4808-9bc7-aad2bcd38686",
    "created_at": "2023-12-05T17:43:07"
  },
  "breakdown_errors": null,
  "token": "18e0933d-6bc1-4808-9bc7-aad2bcd38686"
}

Payout service ID from list

Bank Account Verification
payout service