快速开始
欢迎使用 Zoxupay API!本指南将帮助您快速集成我们的支付解决方案。
概述
Zoxupay 提供安全、快速、可靠的跨境支付 API 服务,支持多个地区:
- 菲律宾 - 完整的支付和代付解决方案
- 孟加拉国 - 本地化支付服务
- 巴基斯坦 - 电子钱包和银行转账支付服务
- 墨西哥 - 本地化收款和代付服务
开始之前
在开始集成之前,您需要:
获取 API 凭证
- API Key(通过
x-access-key请求头传递) - 签名密钥(Secret Key,用于生成签名)
- API Key(通过
选择集成地区
- 根据您的业务需求选择对应的地区 API
了解签名机制
- 所有 API 请求都需要通过 Header 传递签名
基本流程
1. 签名生成
每个请求需要在 Header 中携带 x-access-key 和 signature。签名算法步骤:
- 收集所有 body 参数,排除
signature字段和空值 - 按参数名字母顺序排序
- 按
key=value格式拼接,用&连接 - 在末尾直接追加密钥(Secret Key)
- 使用 SHA256 计算哈希,转小写十六进制
javascript
const crypto = require('crypto');
function generateSignature(params, secretKey) {
const filteredParams = {};
for (const [key, value] of Object.entries(params)) {
if (value !== null && value !== '' && key !== 'signature') {
filteredParams[key] = value;
}
}
const sortedKeys = Object.keys(filteredParams).sort();
const signStr = sortedKeys
.map(key => `${key}=${filteredParams[key]}`)
.join('&');
const finalStr = signStr + secretKey;
return crypto.createHash('sha256').update(finalStr).digest('hex').toLowerCase();
}2. 发起请求
以下示例以孟加拉收款接口为例,其他地区请替换基础路径和业务字段。
javascript
const axios = require('axios');
async function makePayment() {
const params = {
timestamp: String(Date.now()),
merchantOrderNo: 'BDC202604240001',
orderAmount: '12000',
payMethod: 'BKASH',
callbackUrl: 'https://merchant.example.com/payments/notify'
};
const signature = generateSignature(params, 'your_secret_key');
const response = await axios.post(
'https://openapi.zoxupay.com/bd-pay/api/v2/pay/submit',
params,
{
headers: {
'Content-Type': 'application/json',
'x-access-key': 'your_api_key',
signature
}
}
);
return response.data;
}