如何解决PayPal IPN POST导致0 PHP Laravel
我正在努力使用一个简单的存储脚本,该脚本应通过PayPal IPN调用以保存当前付款。
我正在使用
$input = json_encode($request->all());
$paylog = Paylog::create([
'data' => $input,]);
,任何传入的POST的结果始终为“ 0”。
我的错在哪里?
解决方法
也许您是想访问$_POST
在对IPN消息进行任何内容处理之前,应先将其回传到ipnpb.paypal.com
IPN是一种非常古老且笨拙的技术,为什么要使用它?
要获取有关“当前”付款的详细信息,您应该使用v2 / checkout / orders之类的API来方便结帐。为此,您需要在服务器上使用两条路由,一条用于“设置交易”,一条用于“捕获交易”,在此处记录:https://developer.paypal.com/docs/checkout/reference/server-integration/
与您的两条路线配对的最佳批准流程是https://developer.paypal.com/demo/checkout/#/pattern/server
,解决方案:
//Make sure encode values to UTF8
$input = json_encode(array_map('utf8_encode',$request->all()));
//And store
$paylog = Paylog::create([
'data' => $input,]);
或者使事情变得更有效率:
$paylog = Paylog::create([
'data' => $json_encode(array_map('utf8_encode',$request->all())),]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。