小程序
小游戏
企业微信
微信支付
扫描小程序码分享
最近微信支付,在线上运行.发现了多次回调的问题.回传transaction_id为:4200000419201911020109389587
这样的订单还有好多.是我会传错了吗?怎么都是这样的?大概回传了4次,就不回传了.
自己响应的结果
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
收到支付回调,处理完自己的业务后要返回成功给微信服务器吧,微信服务器回调后未收到成功的,后面还会回调几次的
/**
* 微信支付回调
* @return \Symfony\Component\HttpFoundation\Response
*/
public
function
paySuccess()
{
$config
= config(
'wechat.payment.default'
);
$app
= Factory::payment(
$response
=
->handlePaidNotify(
(
$message
,
$fail
)
use
){
////Log::info($message);
// return_code 表示通信状态,不代表支付状态
if
[
'return_code'
] ===
'SUCCESS'
) {
////Log::info('return_code = SUCCESS');
$result_code
= array_get(
'result_code'
// 用户是否支付成功
===
////Log::info('result_code = SUCCESS');
// 再次验证,调用【订单查询】接口,确认是否已经支付
$back
$this
->payCheck(
'out_trade_no'
]);
=== true){
////Log::info('payCheck = OK');
return
->handlePaidUpdate(
}
else
'__error'
] =
'调用【订单查询】接口出错'
;
'通信失败,请稍后再通知我'
elseif
'FAIL'
// 用户支付失败,处理完成,不需要再通知了
true;
////Log::info('FAIL');
// 处理完成,不需要再通知了
});
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,支付、卡券相关的问题请移步至微信支付专区https://developers.weixin.qq.com/community/pay提问,我们会有对应同学来处理。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
收到支付回调,处理完自己的业务后要返回成功给微信服务器吧,微信服务器回调后未收到成功的,后面还会回调几次的
/**
* 微信支付回调
* @return \Symfony\Component\HttpFoundation\Response
*/
public
function
paySuccess()
{
$config
= config(
'wechat.payment.default'
);
$app
= Factory::payment(
$config
);
$response
=
$app
->handlePaidNotify(
function
(
$message
,
$fail
)
use
(
$app
){
////Log::info($message);
// return_code 表示通信状态,不代表支付状态
if
(
$message
[
'return_code'
] ===
'SUCCESS'
) {
////Log::info('return_code = SUCCESS');
$result_code
= array_get(
$message
,
'result_code'
);
// 用户是否支付成功
if
(
$result_code
===
'SUCCESS'
) {
////Log::info('result_code = SUCCESS');
// 再次验证,调用【订单查询】接口,确认是否已经支付
$back
=
$this
->payCheck(
$app
,
$message
[
'out_trade_no'
]);
if
(
$back
=== true){
////Log::info('payCheck = OK');
return
$this
->handlePaidUpdate(
$message
,
$fail
);
}
else
{
$message
[
'__error'
] =
'调用【订单查询】接口出错'
;
////Log::info($message);
return
$fail
(
'通信失败,请稍后再通知我'
);
}
}
elseif
(
$result_code
===
'FAIL'
) {
// 用户支付失败,处理完成,不需要再通知了
return
true;
}
}
else
{
////Log::info('FAIL');
return
$fail
(
'通信失败,请稍后再通知我'
);
}
// 处理完成,不需要再通知了
return
true;
});
return
$response
;
}
你好,支付、卡券相关的问题请移步至微信支付专区https://developers.weixin.qq.com/community/pay提问,我们会有对应同学来处理。