页面跳转支付
由付款人的浏览器直接提交到本接口(表单提交,或拼成链接跳转),下单成功后浏览器被带到付款页。适合在网站前台发起支付。
请求地址
| 地址 | 方式 | 下单失败时 |
|---|---|---|
https://z.weixiao.cc/submit | GET、POST | 显示「下单失败」页面和原因 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pid | String | 必填 | 商户号,「API信息」里的商户号 |
type | String | 否 | 支付方式 |
out_trade_no | String | 必填 | 商户单号 |
notify_url | String | 必填 | 异步通知地址 |
return_url | String | 否 | 同步跳转地址 |
name | String | 必填 | 商品名称,最长 64 个字符 |
money | String | 必填 | 金额,单位元,大于 0,最多两位小数 |
param | String | 否 | 扩展参数 |
channel_id | Int | 否 | 通道编号 |
sign | String | 必填 | 签名 |
sign_type | String | 否 | 签名类型 |
type:支付方式的调用值,见「支付方式」;不传则进入收银台,由付款人选择out_trade_no:你系统里的订单号,同一商户下不能重复;只能包含字母、数字和._-|,最长 150 个字符notify_url:接收支付结果通知的地址,最长 255 个字符return_url:付款完成后把付款人带回的页面,见「同步跳转」param:你的自定义内容,支付结果通知里原样返回,最长 255 个字符channel_id:指定用哪条支付通道收款,不传由平台自动选择;指定的通道不能用于这笔订单时返回「指定通道不可用」sign:见「V1(MD5签名)」「V2(RSA签名)」sign_type:MD5或RSA,不传按 MD5;签名方式为「RSA签名」的商户必须传RSA
请求示例
pid=1001
type=alipay
out_trade_no=20260927123456
notify_url=https://你的域名/notify
return_url=https://你的域名/return
name=会员充值
money=1.00
sign=87b1ef8e501b2dbadb50379631290300
sign_type=MD5PHP 拼出跳转链接,把付款人带过去(zpay_sign 见「V1(MD5签名)」):
<?php
$params = [
'pid' => '1001',
'type' => 'alipay',
'out_trade_no' => '20260927123456',
'notify_url' => 'https://你的域名/notify',
'return_url' => 'https://你的域名/return',
'name' => '会员充值',
'money' => '1.00',
];
$params['sign'] = zpay_sign($params, '你的MD5密钥');
$params['sign_type'] = 'MD5';
header('Location: https://z.weixiao.cc/submit?' . http_build_query($params));
exit;也可以把同样的参数放进 method="post" 的表单,提交到 https://z.weixiao.cc/submit。
跳转结果
- 不传
type:跳转到收银台,付款人自己选择支付方式。 - 传了
type:直接跳转到这种支付方式的付款页。 - 下单失败:显示「下单失败」页面和原因。原因的含义见「错误码」。
注意事项
- 付款人用什么设备(电脑、手机、微信内等)按浏览器自动识别,不需要传
device。 - 不传
type时,付款人在收银台选定支付方式后订单才生成,在此之前「查询订单」会返回「订单不存在」;收银台链接 2 小时内有效。 - 同一个
out_trade_no已经生成过订单,再次提交会返回「商户订单号已存在」。 - 同一商户每分钟最多下单 120 笔(页面跳转支付与 API 接口支付合计),超出返回「下单过于频繁,请稍后再试」。
- 支付结果以「支付结果通知」或「查询订单」为准,付款人回到
return_url不代表已经付款。