paypal支付

文档连接 https://developer.paypal.com/docs/

普通支付  在github上搜PayPal-PHP-SDK插件里面有demo可以直接看 简单

信用卡支付 在github上搜Checkout-PHP-Sdlk插件里面有demo可以直接看

主要说下信用卡支付 一般使用3ds验证后进行支付 但是paypal的信用卡支付总会有一些麻烦事 比如他没有校验安全码 日期什么的  而且对信用卡要求很多,文档上有说明 这里就不说了.

主要说下流程  不使用js插件做的支付,后台接口流程就是 先创建订单 再授权预支付订单产生支付跳转连接,然后再回调地址里去验证信用卡的安全码和日期 符合之后再去确定支付;

order API 创建订单有两种类型 'intent' => 'AUTHORIZE' /CAPTURE    这里使用AUTHORIZE做授权订单创建 

$request->payPalRequestId(); 这个参数必要的 不然会报错, 然后
 

 

这样paypal那边直接会抛出异常 抛出的信息就是支付跳转 ,在接着就是支付回调里再次调用auth order 不同的是 不携带body

 

  $request = new OrdersAuthorizeRequest($response->result->id);
            $request->headers["prefer"] = "return=representation";
            $request->payPalRequestId(); 这个参数是必须的
从返回的信息里processor_response返回的信息去判断该信用卡是否符合支付条件
最后使用
 $request = new AuthorizationsCaptureRequest($response->result->purchase_units[0]->payments->authorizations[0]->id);
        $request->headers["prefer"] = "return=representation";
        $request->body = [
            'amount' => [
                'value' => $response->result->purchase_units[0]->amount->value,
                'currency_code' => $response->result->purchase_units[0]->amount->currency_code,
            ]
        ];
该路径的接口去扣款
posted @ 2022-10-10 10:31  迷失在路上  阅读(219)  评论(0编辑  收藏  举报