Payouts APIs
Create Virtual Account#
URL - https://api.portone.cloud/api/merchant/{portone-client-key}/payout/va
Method - POST
| Field | Column | Value Type | Description | 
|---|---|---|---|
| key | Required | string | PortOne client key | 
| map_id | Required | string | merchant unique id | 
| customer_name | Required | string | Name of Account Holder | 
| channel_key | Required | string | channel to execute payouts from | 
| bank_code | Required | string | bank code | 
| personal_info | Optional | json | person information of the account holder | 
| signature_hash | Required | string | HMAC SHA256 hash | 
personal_info
| Field | Column | Value Type | Description | 
|---|---|---|---|
| phone | Optional | string | phone no | 
| Optional | string | ||
| address | Optional | string | address | 
| id | Optional | string | merchant unique id for account holder | 
Sample cURL Request
Get List Virtual Accounts#
URL - https://api.portone.cloud/api/merchant/{portone-client-key}/payout/va
Method - GET
Sample curl request
Create Beneficiary#
URL - https://api.portone.cloud/api/merchant/{portone-client-key}/payout/vendors
METHOD - POST
| Field | Column | Value Type | Description | 
|---|---|---|---|
| name | Required | string | Name of Beneficiary | 
| Required | string | Email of Beneficiary | |
| address | string | Address of Beneficiary | |
| bank_account_number | Required | string | Beneficiary Bank Account Number | 
| bank_account_name | Required | string | Beneficiary Bank Account Name | 
| bank_name | Required | string | Beneficiary Bank Name | 
| bank_account_type | Required | string | Beneficiary Bank Type - "0" for savings | 
| bank_no | Required | string | Beneficiary Bank Number | 
| signature_hash | Required | string | HMAC SHA256 hash | 
Sample curl request
Get List of Beneficiaries#
URL - https://api.portone.cloud/api/merchant/{portone-client-key}/payout/vendors
METHOD - GET
Sample cURL Request
Create Payouts#
URL - https://api.portone.cloud/api/payout/transaction
METHOD - POST
| Field | Column | Value Type | Description | 
|---|---|---|---|
| virtual_acc_no | Required | string | Virtual Account Number | 
| key | Required | string | PortOne Client Key | 
| channel_key | Required | string | Payout Channel/Provider Key | 
| txn_details | Required | array | Each element has PayoutTransaction details | 
| signature_hash | Required | string | HMAC SHA256 hash | 
txn_details
| Field | Column | Value Type | Description | 
|---|---|---|---|
| txn_ref | Required | string | Merchant Unique Transaction Reference | 
| bank_details | Required | json | Beneficiary bank details | 
| trigger_time | Required | ISO format string | Payout Schedule Time | 
| amount | Required | string | Amount to deposit | 
| currency | Required | string | Currency of Amount | 
| remarks | string | Remarks | 
bank_details
| Field | Column | value type | Description | 
|---|---|---|---|
| account_no | Required | string | Beneficiary Account Number | 
| account_type | Required | string | Beneficiary Bank Type - "0" for savings | 
| account_name | Required | string | Beneficiary Account Name | 
| bank_no | Required | string | Beneficiary Bank Number | 
| bank_name | Required | string | Beneficiary Bank Name | 
| signature_hash | Required | string | HMAC-SHA256 hash | 
Sample cURL Request
Generate OTP#
URL - https://api.portone.cloud/api/merchant/payout/approve/generateOTP
METHOD - POST
| Field | Column | Value type | Description | 
|---|---|---|---|
| approver_email | Required | string | Approver Email to get OTP | 
Sample curl request →
Approve Payouts#
URL → https://api.portone.cloud/api/merchant/payout/approve
METHOD → POST
| Field | Column | Value Type | Description | 
|---|---|---|---|
| approver_email | required | string | Approver Email Id | 
| otp | required | string | OTP generated using no.6 API | 
| approver_name | required | string | Approver Name | 
| txn_refs | required | array | Transaction Refs to Approve | 
| signature_hash | required | string | HMAC SHA256 hash | 
Sample curl request
Add Bank Account for Beneficiary#
METHOD - PUT
Sample curl request
Get List of Payouts#
URL - https://api.portone.cloud/api/merchant/{portone-client-key}/payouts METHOD - POST
Sample curl request
Get Virtual Account Balance#
URL - https://api.portone.cloud/api/payout/va/{virtual-account-number}/balance METHOD - GET
Sample curl request
Get Payout Transaction Status#
URL - https://api.portone.cloud/api/payout/{payout-transaction-ref}/status
METHOD - GET
Sample curl request
Update Payout Transaction Status#
URL - https://api.portone.cloud/api/payout/{payout-transaction-ref}/status/Cancelled
METHOD - PUT
Sample curl request
Beneficiary Bank Account Verification#
URL - https://api.portone.cloud/api/payout/vendor/account/verification
METHOD - POST
| Field | Column | value type | description | 
|---|---|---|---|
| chaipay_key | required | string | portone client key | 
| channel_key | required | string | Provider/Channel to use | 
| bank_number | required | string | Bank Number | 
| account_number | required | string | Bank Account Number | 
| account_name | required | string | Bank Account Name | 
| request_id | required | string | Unique request Id | 
| type | required | string | Account Type - can be "account" | 
| signature_hash | required | string | HMAC SHA256 hash | 
Sample curl request
Get Virtual Account Statement (Paginated)#
URL - https://api.portone.cloud/api/payout/va/{virtual-account-number}/statement
METHOD - POST
| Field | Column | Value Type | Description | Defaults | 
|---|---|---|---|---|
| from | optional | string | From Date - ISO format, default is current time - 24 hours | |
| to | optional | string | To Date - ISO format, default is current time | |
| page | optional | string | page no, default is 1 | |
| pagesize | optional | string | pagesize, default is 10 | 
Sample curl request