Skip to main content
POST
/
api
/
v1
/
payout
/
create
Payout create
curl --request POST \
  --url https://api.example.com/api/v1/payout/create \
  --header 'Content-Type: application/json' \
  --data '
{
  "payoutRequestId": "<string>",
  "payoutCurrency": "<string>",
  "country": "<string>",
  "description": "<string>",
  "merchantInfo": {
    "merchantId": 1000000201,
    "subMerchantId": "<string>"
  },
  "payeeInfo": {
    "payeeId": "<string>",
    "payeeType": "<string>",
    "payeeFirstName": "<string>",
    "payeeMiddleName": "<string>",
    "payeeLastName": "<string>",
    "nationality": "<string>",
    "payeeEmail": "<string>",
    "payeePhone": "<string>",
    "payeeBirthDay": "<string>",
    "payeeIDType": "<string>",
    "payeeIDNumber": "<string>",
    "payeeIDIssueDate": "<string>",
    "payeeIDExpiryDate": "<string>",
    "payeeFullName": "<string>"
  },
  "payoutInfo": {
    "productName": "<string>",
    "payoutMethodType": "<string>",
    "payoutMethodUserAccountNo": "<string>",
    "payoutMethodName": "<string>",
    "payoutMethodProperty": "<string>"
  },
  "payoutRequestedAt": "<string>",
  "payoutAmount": "<string>",
  "purpose": "<string>",
  "addressInfo": {
    "address": "<string>",
    "city": "<string>",
    "region": "<string>",
    "postcode": "<string>",
    "addressCountryCode": "<string>"
  },
  "notifyUrl": "<string>",
  "extendInfo": "<string>"
}
'
import requests

url = "https://api.example.com/api/v1/payout/create"

payload = {
"payoutRequestId": "<string>",
"payoutCurrency": "<string>",
"country": "<string>",
"description": "<string>",
"merchantInfo": {
"merchantId": 1000000201,
"subMerchantId": "<string>"
},
"payeeInfo": {
"payeeId": "<string>",
"payeeType": "<string>",
"payeeFirstName": "<string>",
"payeeMiddleName": "<string>",
"payeeLastName": "<string>",
"nationality": "<string>",
"payeeEmail": "<string>",
"payeePhone": "<string>",
"payeeBirthDay": "<string>",
"payeeIDType": "<string>",
"payeeIDNumber": "<string>",
"payeeIDIssueDate": "<string>",
"payeeIDExpiryDate": "<string>",
"payeeFullName": "<string>"
},
"payoutInfo": {
"productName": "<string>",
"payoutMethodType": "<string>",
"payoutMethodUserAccountNo": "<string>",
"payoutMethodName": "<string>",
"payoutMethodProperty": "<string>"
},
"payoutRequestedAt": "<string>",
"payoutAmount": "<string>",
"purpose": "<string>",
"addressInfo": {
"address": "<string>",
"city": "<string>",
"region": "<string>",
"postcode": "<string>",
"addressCountryCode": "<string>"
},
"notifyUrl": "<string>",
"extendInfo": "<string>"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
payoutRequestId: '<string>',
payoutCurrency: '<string>',
country: '<string>',
description: '<string>',
merchantInfo: {merchantId: 1000000201, subMerchantId: '<string>'},
payeeInfo: {
payeeId: '<string>',
payeeType: '<string>',
payeeFirstName: '<string>',
payeeMiddleName: '<string>',
payeeLastName: '<string>',
nationality: '<string>',
payeeEmail: '<string>',
payeePhone: '<string>',
payeeBirthDay: '<string>',
payeeIDType: '<string>',
payeeIDNumber: '<string>',
payeeIDIssueDate: '<string>',
payeeIDExpiryDate: '<string>',
payeeFullName: '<string>'
},
payoutInfo: {
productName: '<string>',
payoutMethodType: '<string>',
payoutMethodUserAccountNo: '<string>',
payoutMethodName: '<string>',
payoutMethodProperty: '<string>'
},
payoutRequestedAt: '<string>',
payoutAmount: '<string>',
purpose: '<string>',
addressInfo: {
address: '<string>',
city: '<string>',
region: '<string>',
postcode: '<string>',
addressCountryCode: '<string>'
},
notifyUrl: '<string>',
extendInfo: '<string>'
})
};

fetch('https://api.example.com/api/v1/payout/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/payout/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payoutRequestId' => '<string>',
'payoutCurrency' => '<string>',
'country' => '<string>',
'description' => '<string>',
'merchantInfo' => [
'merchantId' => 1000000201,
'subMerchantId' => '<string>'
],
'payeeInfo' => [
'payeeId' => '<string>',
'payeeType' => '<string>',
'payeeFirstName' => '<string>',
'payeeMiddleName' => '<string>',
'payeeLastName' => '<string>',
'nationality' => '<string>',
'payeeEmail' => '<string>',
'payeePhone' => '<string>',
'payeeBirthDay' => '<string>',
'payeeIDType' => '<string>',
'payeeIDNumber' => '<string>',
'payeeIDIssueDate' => '<string>',
'payeeIDExpiryDate' => '<string>',
'payeeFullName' => '<string>'
],
'payoutInfo' => [
'productName' => '<string>',
'payoutMethodType' => '<string>',
'payoutMethodUserAccountNo' => '<string>',
'payoutMethodName' => '<string>',
'payoutMethodProperty' => '<string>'
],
'payoutRequestedAt' => '<string>',
'payoutAmount' => '<string>',
'purpose' => '<string>',
'addressInfo' => [
'address' => '<string>',
'city' => '<string>',
'region' => '<string>',
'postcode' => '<string>',
'addressCountryCode' => '<string>'
],
'notifyUrl' => '<string>',
'extendInfo' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.example.com/api/v1/payout/create"

payload := strings.NewReader("{\n \"payoutRequestId\": \"<string>\",\n \"payoutCurrency\": \"<string>\",\n \"country\": \"<string>\",\n \"description\": \"<string>\",\n \"merchantInfo\": {\n \"merchantId\": 1000000201,\n \"subMerchantId\": \"<string>\"\n },\n \"payeeInfo\": {\n \"payeeId\": \"<string>\",\n \"payeeType\": \"<string>\",\n \"payeeFirstName\": \"<string>\",\n \"payeeMiddleName\": \"<string>\",\n \"payeeLastName\": \"<string>\",\n \"nationality\": \"<string>\",\n \"payeeEmail\": \"<string>\",\n \"payeePhone\": \"<string>\",\n \"payeeBirthDay\": \"<string>\",\n \"payeeIDType\": \"<string>\",\n \"payeeIDNumber\": \"<string>\",\n \"payeeIDIssueDate\": \"<string>\",\n \"payeeIDExpiryDate\": \"<string>\",\n \"payeeFullName\": \"<string>\"\n },\n \"payoutInfo\": {\n \"productName\": \"<string>\",\n \"payoutMethodType\": \"<string>\",\n \"payoutMethodUserAccountNo\": \"<string>\",\n \"payoutMethodName\": \"<string>\",\n \"payoutMethodProperty\": \"<string>\"\n },\n \"payoutRequestedAt\": \"<string>\",\n \"payoutAmount\": \"<string>\",\n \"purpose\": \"<string>\",\n \"addressInfo\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"postcode\": \"<string>\",\n \"addressCountryCode\": \"<string>\"\n },\n \"notifyUrl\": \"<string>\",\n \"extendInfo\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/payout/create")
.header("Content-Type", "application/json")
.body("{\n \"payoutRequestId\": \"<string>\",\n \"payoutCurrency\": \"<string>\",\n \"country\": \"<string>\",\n \"description\": \"<string>\",\n \"merchantInfo\": {\n \"merchantId\": 1000000201,\n \"subMerchantId\": \"<string>\"\n },\n \"payeeInfo\": {\n \"payeeId\": \"<string>\",\n \"payeeType\": \"<string>\",\n \"payeeFirstName\": \"<string>\",\n \"payeeMiddleName\": \"<string>\",\n \"payeeLastName\": \"<string>\",\n \"nationality\": \"<string>\",\n \"payeeEmail\": \"<string>\",\n \"payeePhone\": \"<string>\",\n \"payeeBirthDay\": \"<string>\",\n \"payeeIDType\": \"<string>\",\n \"payeeIDNumber\": \"<string>\",\n \"payeeIDIssueDate\": \"<string>\",\n \"payeeIDExpiryDate\": \"<string>\",\n \"payeeFullName\": \"<string>\"\n },\n \"payoutInfo\": {\n \"productName\": \"<string>\",\n \"payoutMethodType\": \"<string>\",\n \"payoutMethodUserAccountNo\": \"<string>\",\n \"payoutMethodName\": \"<string>\",\n \"payoutMethodProperty\": \"<string>\"\n },\n \"payoutRequestedAt\": \"<string>\",\n \"payoutAmount\": \"<string>\",\n \"purpose\": \"<string>\",\n \"addressInfo\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"postcode\": \"<string>\",\n \"addressCountryCode\": \"<string>\"\n },\n \"notifyUrl\": \"<string>\",\n \"extendInfo\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/api/v1/payout/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"payoutRequestId\": \"<string>\",\n \"payoutCurrency\": \"<string>\",\n \"country\": \"<string>\",\n \"description\": \"<string>\",\n \"merchantInfo\": {\n \"merchantId\": 1000000201,\n \"subMerchantId\": \"<string>\"\n },\n \"payeeInfo\": {\n \"payeeId\": \"<string>\",\n \"payeeType\": \"<string>\",\n \"payeeFirstName\": \"<string>\",\n \"payeeMiddleName\": \"<string>\",\n \"payeeLastName\": \"<string>\",\n \"nationality\": \"<string>\",\n \"payeeEmail\": \"<string>\",\n \"payeePhone\": \"<string>\",\n \"payeeBirthDay\": \"<string>\",\n \"payeeIDType\": \"<string>\",\n \"payeeIDNumber\": \"<string>\",\n \"payeeIDIssueDate\": \"<string>\",\n \"payeeIDExpiryDate\": \"<string>\",\n \"payeeFullName\": \"<string>\"\n },\n \"payoutInfo\": {\n \"productName\": \"<string>\",\n \"payoutMethodType\": \"<string>\",\n \"payoutMethodUserAccountNo\": \"<string>\",\n \"payoutMethodName\": \"<string>\",\n \"payoutMethodProperty\": \"<string>\"\n },\n \"payoutRequestedAt\": \"<string>\",\n \"payoutAmount\": \"<string>\",\n \"purpose\": \"<string>\",\n \"addressInfo\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"postcode\": \"<string>\",\n \"addressCountryCode\": \"<string>\"\n },\n \"notifyUrl\": \"<string>\",\n \"extendInfo\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "code": 0,
  "msg": "success",
  "data": {
    "mid": "<string>",
    "subMid": "<string>",
    "payoutRequestId": "<string>",
    "payoutOrderId": "<string>",
    "prefundCurrency": "<string>",
    "prefundAmount": 123,
    "payoutCurrency": "<string>",
    "payoutAmount": "<string>",
    "payeeCurrency": "<string>",
    "payeeAmount": "<string>",
    "country": "<string>",
    "description": "<string>",
    "merchantInfo": {
      "merchantId": 1000000201,
      "subMerchantId": "<string>"
    },
    "payeeInfo": {
      "payeeId": "<string>",
      "payeeType": "<string>",
      "payeeFirstName": "<string>",
      "payeeMiddleName": "<string>",
      "payeeLastName": "<string>",
      "nationality": "<string>",
      "payeeEmail": "<string>",
      "payeePhone": "<string>",
      "payeeBirthDay": "<string>",
      "payeeIDType": "<string>",
      "payeeIDNumber": "<string>",
      "payeeIDIssueDate": "<string>",
      "payeeIDExpiryDate": "<string>",
      "payeeFullName": "<string>"
    },
    "payoutInfo": {
      "productName": "<string>",
      "payoutMethodType": "<string>",
      "payoutMethodUserAccountNo": "<string>",
      "payoutMethodName": "<string>",
      "payoutMethodProperty": "<string>"
    },
    "addressInfo": {
      "address": "<string>",
      "city": "<string>",
      "region": "<string>",
      "postcode": "<string>",
      "addressCountryCode": "<string>"
    },
    "feeCurrency": "<string>",
    "feeAmount": "<string>",
    "feeStatus": "<string>",
    "status": "<string>",
    "subStatus": "<string>",
    "failureCode": "<string>",
    "failureReason": "<string>",
    "notifyUrl": "<string>",
    "extendInfo": "<string>",
    "payoutRequestedAt": "<string>",
    "payoutArrivalTime": "<string>",
    "payoutUpdatedAt": "<string>"
  }
}

Body

application/json
payoutRequestId
string
required

Payout request id sent from Merchant. It will also be used for idempotent check.

Maximum string length: 64
payoutCurrency
string
required

Payout currency

Required string length: 3
country
string
required

Payout receiving country

Required string length: 3
description
string
required

Payout description information

Maximum string length: 128
merchantInfo
object
required

Merchant info

payeeInfo
object
required

Payee info

payoutInfo
object
required

Payout information

payoutRequestedAt
string
required

Merchant-side payout request time, ISO_8601_FORMAT: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

Minimum string length: 1
payoutAmount
string

Payout amount (merchant requested)

Pattern: ^\d+(\.\d{1,8})?$
purpose
string

Payout purpose is optional. Mandatory when country is CHN, allowed values:

  • SALARY_PAYMENT - 工资支付
  • SERVICE_CHARGES - 服务费
  • ADVISORY_FEES - 顾问/咨询费
  • ADVERTISING_EXPENSES - 广告及公关费
  • CONSTRUCTION_EXPENSES - 建设费用
  • PROPERTY_RENTAL - 房屋租金
  • TAX_PAYMENT - 税款支付
  • LIBERALIZED_REMITTANCE - 自由化汇款
Maximum string length: 128
addressInfo
object

Payee Address Information

notifyUrl
string

The callback address to notify the merchant after the payout is completed / failed

Maximum string length: 256
extendInfo
string

Reserved. Json format e.g. {"key1":"value1", "key2":"value2"}

Response

200 - */*

OK

response data

code
string
Example:

0

msg
string
Example:

"success"

data
object