下单接口:
域名/cashier/payOrder
请求方式:
POST [application/x-www-form-urlencoded]
请求参数:
参数名 类型 必须 加入签名 说明
mcode string 商户号
amount string 支付提交金额,单位:越南盾,最多两位小数
order_no string 订单号,32位以内
notifyurl string 异步通知地址,120位以内
time int 当前时间戳
channel int 渠道
three_username int 用户账号
actname int 真实姓名
ip string 请求ip
sign string

签名方式:

1、除了sign 参数外,其余参数都需要加入签名;

2、将参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推;

3、将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。MD5签名的商户需要将key的值拼接在字符串后面如:&key=key,调用MD5算法生成大写sign;

示例:MD5签名前的原始数据,测试商户号(10086),商户密钥(ed076287532e86365e841e92bfc50d8c)

actname=BUI QUANG HIEN&channel=88PAY-TK88&ip=113.23.76.17&mcode=100003&three_username=15050316&time=1721733682&key=64924c2ae1f7d4ed6f96566741c127de
通过md5加密32位后转为大写得到
4721334A44A442022A8C78407060FF1D
请求示例:
{"mcode":"10086","amount":100,"ip":"127.0.0.1","channel":"88PAY-TK88","actname":"BUI QUANG HIEN","three_username":"15050316","order_no":"DD12131313131","notifyurl":"http://127.0.0.1/api/notifyurl","time":1648136845,"sign":"4721334A44A442022A8C78407060FF1D"}
请求结果:

错误:

{"result":"1001","msg":"商户号不能为空","data":[],"timestamp":1648140082}

成功:result = 2000,支付地址:url

{ "result": 2000, "msg": "成功", "url": "https://vnpay-h5.mayibaset.net/#/checkoutCounter?channel=HK&three_username=sdfd&actname=随机&time=1720794744&ip=127.0.0.1&mcode=100004&amount=100&order_sn=213432134¬ifyUrl=123&sign=694397FD2CF0EDEDCC28D71B91FAA3B2" }