跳转到主要内容
POST
/
aed
/
pay
/
apply
代付申请
curl --request POST \
  --url https://uat-interface.haipay.asia/aed/pay/apply \
  --header 'Content-Type: application/json' \
  --data '
{
  "appId": 123,
  "orderId": "<string>",
  "amount": "<string>",
  "accountType": "BANK_ACCOUNT",
  "bankCode": "<string>",
  "accountNo": "<string>",
  "name": "<string>",
  "phone": "<string>",
  "email": "<string>",
  "partnerUserId": "<string>",
  "swiftCode": "<string>",
  "sign": "<string>",
  "city": "<string>",
  "street": "<string>",
  "notifyUrl": "<string>",
  "subject": "<string>",
  "body": "<string>"
}
'
import requests

url = "https://uat-interface.haipay.asia/aed/pay/apply"

payload = {
"appId": 123,
"orderId": "<string>",
"amount": "<string>",
"accountType": "BANK_ACCOUNT",
"bankCode": "<string>",
"accountNo": "<string>",
"name": "<string>",
"phone": "<string>",
"email": "<string>",
"partnerUserId": "<string>",
"swiftCode": "<string>",
"sign": "<string>",
"city": "<string>",
"street": "<string>",
"notifyUrl": "<string>",
"subject": "<string>",
"body": "<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({
appId: 123,
orderId: '<string>',
amount: '<string>',
accountType: 'BANK_ACCOUNT',
bankCode: '<string>',
accountNo: '<string>',
name: '<string>',
phone: '<string>',
email: '<string>',
partnerUserId: '<string>',
swiftCode: '<string>',
sign: '<string>',
city: '<string>',
street: '<string>',
notifyUrl: '<string>',
subject: '<string>',
body: JSON.stringify('<string>')
})
};

fetch('https://uat-interface.haipay.asia/aed/pay/apply', 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://uat-interface.haipay.asia/aed/pay/apply",
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([
'appId' => 123,
'orderId' => '<string>',
'amount' => '<string>',
'accountType' => 'BANK_ACCOUNT',
'bankCode' => '<string>',
'accountNo' => '<string>',
'name' => '<string>',
'phone' => '<string>',
'email' => '<string>',
'partnerUserId' => '<string>',
'swiftCode' => '<string>',
'sign' => '<string>',
'city' => '<string>',
'street' => '<string>',
'notifyUrl' => '<string>',
'subject' => '<string>',
'body' => '<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://uat-interface.haipay.asia/aed/pay/apply"

payload := strings.NewReader("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"amount\": \"<string>\",\n \"accountType\": \"BANK_ACCOUNT\",\n \"bankCode\": \"<string>\",\n \"accountNo\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"partnerUserId\": \"<string>\",\n \"swiftCode\": \"<string>\",\n \"sign\": \"<string>\",\n \"city\": \"<string>\",\n \"street\": \"<string>\",\n \"notifyUrl\": \"<string>\",\n \"subject\": \"<string>\",\n \"body\": \"<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://uat-interface.haipay.asia/aed/pay/apply")
.header("Content-Type", "application/json")
.body("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"amount\": \"<string>\",\n \"accountType\": \"BANK_ACCOUNT\",\n \"bankCode\": \"<string>\",\n \"accountNo\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"partnerUserId\": \"<string>\",\n \"swiftCode\": \"<string>\",\n \"sign\": \"<string>\",\n \"city\": \"<string>\",\n \"street\": \"<string>\",\n \"notifyUrl\": \"<string>\",\n \"subject\": \"<string>\",\n \"body\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://uat-interface.haipay.asia/aed/pay/apply")

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 \"appId\": 123,\n \"orderId\": \"<string>\",\n \"amount\": \"<string>\",\n \"accountType\": \"BANK_ACCOUNT\",\n \"bankCode\": \"<string>\",\n \"accountNo\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"partnerUserId\": \"<string>\",\n \"swiftCode\": \"<string>\",\n \"sign\": \"<string>\",\n \"city\": \"<string>\",\n \"street\": \"<string>\",\n \"notifyUrl\": \"<string>\",\n \"subject\": \"<string>\",\n \"body\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "status": "<string>",
  "error": "<string>",
  "msg": "<string>",
  "data": {
    "orderId": "<string>",
    "orderNo": "<string>",
    "sign": "<string>"
  }
}

密钥私钥(生成签名)

请求体

application/json
appId
integer
必填

业务ID(后台获取,需要根据URL中的币种传递对应的业务ID)

orderId
string
必填

商户订单号(必须保证唯一性,长度不超过48)

Maximum string length: 48
amount
string
必填

交易金额(单位:د.إ,精确到小数点后两位;禁止添加标点符号,例如:",")

Pattern: ^\d+\.\d{2}$
accountType
enum<string>
必填

账户类型:BANK_ACCOUNT(银行)

可用选项:
BANK_ACCOUNT
bankCode
string
必填

钱包编码和银行代码

accountNo
string
必填

用户银行/钱包账号;iban账号

name
string
必填

收款人姓名

Required string length: 1 - 30
Pattern: ^[A-Za-z\s\'\-\.]+$
phone
string
必填

真实手机号

email
string
必填

真实电子邮件

partnerUserId
string
必填

用户唯一标识(如用户ID userId),用于风控系统,必须真实有效,否则会影响交易。 格式要求:数字、大小写字母或常用符号-~!@#$%&*()_。

Pattern: ^[A-Za-z0-9\-~!@#$%&*()_]+$
swiftCode
string
必填

全球银行金融电信协会代码

Pattern: ^[A-Z0-9]+$
sign
string
必填

签名

city
string
必填

城市

street
string
必填

街道

notifyUrl
string<uri>

回调地址

subject
string

支付备注(交易标题,商品名称,支付原因)

body
string

备注详情

响应

200 - application/json
status
string

状态码

error
string

错误码

msg
string

消息

data
object
最后修改于 2026年7月10日