4.4.1 接口说明 请求头 请求头说明 沙箱环境url https://api.sandbox.speedlyglobal.com/api/settle/settlement 生产环境url https://api.speedlyglobal.com/api/settle/settlement 请求方式 POST 4.4.2 传参说明 参数名称 类型 是否必填 描述 merchant_no String 是 商户号 data object 是 订单数据体 data: 参数名称 类型 是否 必填 是否 签名 描述 country String 是 是 国家代码。详见:国家和货币代码 currency String 是 是 货币代码。详见:国家和货币代码 order_id String 是 是 商户订单编号 amount Double 是 是 固定2位小数点的浮点数金额,如:10.00 notification_url String 是 是 回调通知地址。支付成功后,向商户发送成功的回调通知 timestamp Long 是 是 毫秒级UTC时间戳(13位) signature String 是 否 MD5签名,32位大写字母 payee object 否 否 收款方信息体 payee: 参数名称 类型 是否必填 描述 name String 是 收款方名字 lastname String 否 收款方姓氏 account String 是 收款方账号 account_type String 是 账户类型,详见:支持账户类型 document String 否 收款方个人公民身份ID,详见:身份ID格式 phone String 否 收款方电话号码,详见:电话号码格式 马来西亚必填 印度必填 email String 否 邮箱 马来西亚必填 印度必填 bank_name String 否 银行名称 bank_code String 否 银行编码 马来西亚必填 bank_branch String 否 银行支行 印度 account_type=BANK时,传印度银行的IFSC号码 国家名称 payee详细描述 巴西 account_type=CPF时,document必填,account=document,[document]传巴西的CPF号 account_type=PHONE时,phone必填,account=phone account_type=EMAIL时,email必填,account=email account_type=CHAVE时,[account]传巴西的PIX密钥 例如: { "name":"Miscro Duma", "account":"+552125552787", "account_type":"PHONE", "phone":"+552125552787" } 根据以上信息 生成一个基于php的接口案例
时间: 2024-04-02 09:37:26 浏览: 100
以下是基于 PHP 的接口案例,其中用到了 cURL 库进行请求:
```php
<?php
// 商户号
$merchant_no = "your_merchant_no";
// 订单数据体
$data = array(
"country" => "my",
"currency" => "MYR",
"order_id" => "your_order_id",
"amount" => 10.00,
"notification_url" => "your_notification_url",
"timestamp" => round(microtime(true) * 1000),
);
// 收款方信息体
$payee = array(
"name" => "收款方名字",
"account" => "收款方账号",
"account_type" => "PHONE",
"phone" => "收款方电话号码",
);
// 生成签名
$sign_str = $merchant_no . json_encode($data) . json_encode($payee) . "your_secret_key";
$signature = strtoupper(md5($sign_str));
// 请求参数
$params = array(
"merchant_no" => $merchant_no,
"data" => $data,
"signature" => $signature,
"payee" => $payee,
);
// 请求地址
$url = "https://api.sandbox.speedlyglobal.com/api/settle/settlement";
// 发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
// 处理响应
$result = json_decode($response, true);
if ($result["code"] == "0000") {
echo "订单创建成功";
} else {
echo "订单创建失败:" . $result["msg"];
}
?>
```
需要注意的是,上述代码中的 `$merchant_no` 是商户号,`$data` 是订单数据体,`$payee` 是收款方信息体,`$signature` 是签名,`$url` 是请求地址,`$params` 是请求参数。其中,`$sign_str` 的计算方法为将 `$merchant_no`、`$data`、`$payee` 和你的密钥拼接后,进行 MD5 加密并转化为大写字母。在实际使用时,需要将 `$url` 修改为生产环境的请求地址,并使用实际的商户号和密钥进行签名。
阅读全文