-
Notifications
You must be signed in to change notification settings - Fork 317
payment_notify
thenbsp edited this page Jan 26, 2018
·
6 revisions
统一下单时有一个必填参数:notify_url,即支付成功时的通知地址用,以处理后期业务,比如修改订单状态,通知请求中将会携带以下参数:
- appid 商户所对应的公众号 APPID
- bank_type 用户支付所使用的银行类型
- cash_fee 用户最终实付款
- fee_type 用户支付的货币类型 CNY 为人民币
- is_subscribe 用户是否关注了公众号
- mch_id 商户 ID
- nonce_str 随机字符
- openid 用户相对于公众号的唯一ID (同一个用户在不同公众号中 Openid 不同)
- out_trade_no 为订单 ID,和统一下单时的 out_trade_no 对应。
- result_code 交易是否成功 SUCCESS/FAIL
- return_code 通信状态标识 SUCCESS/FAIL
- sign 数据签名
- time_end 交易结束时间
- total_fee 订单的总金额(和 cash_fee 不一样)
- trade_type 支付方式类别(JSAPI:公众号支付,NATIVE:原生扫码支付, APP:APP 支付, WAP:手机浏览器支付, MICROPAY:刷卡支付)
- transaction_id 微信交易 ID
use Thenbsp\Wechat\Payment\Notify;
$notify = new Notify();
if( !$notify->containsKey('out_trade_no') ) {
// 失败时必需返回,否则微信服务器将重复提交通知
$notify->fail('Invalid Request');
}
// 在这里处理你的业务逻辑,比如修改订单状态
// $notify['out_trade_no'] 为订单号
// 返回成功标识
$notify->success('OK');
use Thenbsp\Wechat\Payment\Notify;
use Symfony\Component\HttpFoundation\Request;
// 创建 Request 对象
$request = Request::createFromGlobals();
// 输出到日志
$logger->debug($request->getContent());
// 指定 Request
$notify = new Notify($request);
// ...