支付

页面跳转支付

由付款人的浏览器直接提交到本接口(表单提交,或拼成链接跳转),下单成功后浏览器被带到付款页。适合在网站前台发起支付。

请求地址

地址方式下单失败时
https://z.weixiao.cc/submitGET、POST显示「下单失败」页面和原因

请求参数

参数类型必填说明
pidString必填商户号,「API信息」里的商户号
typeString否支付方式
out_trade_noString必填商户单号
notify_urlString必填异步通知地址
return_urlString否同步跳转地址
nameString必填商品名称,最长 64 个字符
moneyString必填金额,单位元,大于 0,最多两位小数
paramString否扩展参数
channel_idInt否通道编号
signString必填签名
sign_typeString否签名类型
  • 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=MD5

PHP 拼出跳转链接,把付款人带过去(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 不代表已经付款。