PayPal SDK在与Thinkphp中部署的几次报错解析

原创| 开发动态| 一个月前| 阅读 178 次 | 2赞同 0反对

概述:PayPal在集成进Thinkphp系统遇到的400问题和注意事项分享。

Dmake收银方式新增PayPal渠道,适应全球销售通道


如果你的系统之前集成过了其他支付,那么PayPal接入也将非常简单。

板砖主要参考了这篇文章:https://blog.csdn.net/weixin_43932088/article/details/87879755

因为该博主已经写的非常详细了,所以我这里只对3个主要步骤说明:

1. composer require paypal/rest-api-sdk-php:*  

2. 回调接口不用像作者那样加时间戳,毕竟逻辑不一样

            $redirectUrls->setReturnUrl($config['returnurl'])
                ->setCancelUrl($config['cancelurl']);


3.  如果遇到以下错误码,请记得检查结算货币是否是CNY,这样是会报错的


Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/payment.
4. 记得开启debug,找异常方便点



        // 实例初始化
        $apiContext = new \PayPal\Rest\ApiContext(
            new \PayPal\Auth\OAuthTokenCredential($config['ClientID'], $config['ClientSecret'])
        );

        /*sandbox 模式*/
        $apiContext->setConfig(['mode' => 'sandbox',
            'log.LogEnabled' => true,
            'log.FileName' => './paypal.log',
            'log.LogLevel' => 'DEBUG', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
            'cache.enabled' => true,

            // 'http.CURLOPT_CONNECTTIMEOUT' => 30
            // 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'
            //'log.AdapterFactory' => '\PayPal\Log\DefaultLogFactory' // Factory class implementing \PayPal\Log\PayPalLogFactory
        ]);
总体来说,PayPal的集成并不是特别难,集成方法和支付宝的大致相同,如果集成有难度,请看文初的博客教程。


另外在组装post实例中,是否需要将消费者联系方式和消费明细集成属于选填项,没有填写也不会报错。


DMAKE

本频道需要登陆后才能评论,请登录


暂无评论...