跳到主要内容

申请代付

请求地址

POST

https://sandbox.j-pay.net/api/v1/payment/createOrder

测试账号

Merchant ID:10010

ApiKey: 7e4nicn14nhyup146dfbi8hpnpus9juz

请求参数

参数名称类型是否必填参与签名参数说明
订单信息
memberidString平台分配商户号
out_trade_noString上送订单号唯一, 字符长度100
amountString代付金额(只支持两位小数)
currencyString币种, 如:USD,JPY,GBP,EUR,AUD,HKD,CAD,MXN
orderTypeString付款类型列表
notifyurlString转账成功会通过此地址通知
remarkString备注不能为空并且长度大于4个字符
signString请看MD5签名处理
用户信息
firstnameString收款人名
lastnameString收款人姓(为空不用参与签名)
付款类型为ach,Visa Direct,BANK(部分国家)必填
payeecontactString收款人联系方式(邮箱)
付款类型为Venmo,ach,BANK(部分国家)必填
payeephoneString收款人联系方式(手机号)
付款类型为BANK(部分国家)必填
payeeCountryStringC收款人所在国家
付款类型为ach,CASHAPPOUT,BANK必填
provinceString省份 如:广东省
付款类型为ach, BANK(部分国家)必填
cityString城市 如:广州市
付款类型为ach, BANK(部分国家)必填
payeeAddressString收款人地址-详细街道
付款类型为ach, BANK(部分国家)必填
payeePostalCodeString收款人邮编
付款类型为ach, BANK(部分国家)必填
银行信息
payeeaccountString银行卡号、钱包账号
banknameString代付银行卡 开户行名称
subbranchString代付银行卡 支行名称
accountnameString结算卡 开户名
payeeBankRoutingString付款类型为ach必填
bankswiftStringSWIFT/BIC. 点击 获取SWIFT/BIC. 例如 ABCDGITTXXX
付款类型为BANK(部分国家)必填
bankibanStringIBAN应该包含30个字符。第3和第4个字符必须是数字。 例如 KW74NBOK0000000000001000372151
付款类型为BANK(部分国家)必填

返回参数

参数名称类型参数说明
transaction_idString平台流水号:成功时返回
statusstringsuccess:成功
error:失败
msgString状态描述

通知参数

参数名称类型参数说明
memberidString商户ID
out_trade_nostring商户订单号
transaction_idString平台订单号
amountString总金额
actualamountString实际金额
original_amountString原金额
datetimeIntger交易时间戳(秒)
transferMessageString交易信息
statusstring状态:
SUCCESS:成功
FAIL:失败
signString请看MD5签名处理

示例

请求

import { md5 } from "js-md5";
import axios from "axios";

const KEY = "7e4nicn14nhyup146dfbi8hpnpus9juz";
const MEMBER_ID = "10010";
let query = {
memberid: MEMBER_ID,
out_trade_no: "O" + Date.now().valueOf(),
amount: "1.00",
currency: "USD",
orderType: "PayPal-A",
firstname: "Jack",
payeeaccount: "12345678",
notifyurl: "https://www.google.com",
remark: "This is a new payment"
};
let signData = [];
Object.keys(query)
.sort()
.forEach((key) => signData.push(`${key}=${query[key]}`));

signData.push(`key=${KEY}`);
query.sign = md5(signData.join("&")).toUpperCase()

axios
.request({
url: "https://sandbox.j-pay.net/api/v1/payment/createOrder",
method: "post",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
data: query,
})
.then(({ data }) => {
console.log("success", data);
})
.catch((error) => {
console.log("error", error);
});

返回

{ status: 'success', msg: '代付申请提交成功', transaction_id: '151398410112' }

通知

{
"memberid": "10010",
"out_trade_no": "13676",
"transaction_id": "257354624363",
"amount": "10.00",
"actualamount": "9.80",
"datetime": false,
"transferMessage": "转账成功",
"status": "SUCCESS",
"sign": "6EF39FDDC82DFD5C346A020EEF477D21"
}