Paypal Payments REST API支付 沙箱测试 php版本

官方文档

https://developer.paypal.com/docs/integration/direct/payments/paypal-payments/#create-paypal-payment

准备工作

先要在官网注册PayPal账号,然后打开沙箱账号管理
在这里插入图片描述
能看到有自动创建的2个沙箱账号,选中PERSONAL账号点击Profile,设置自定义密码(记录该账号和密码)。
然后点击左边菜单栏DASHBOARD-My Apps & Credentials创建沙箱应用.
在这里插入图片描述
然后回到沙箱账号管理选中BUSSINESS账号,点击Profile,点击API Credentials,点击REST Apps里的App name。
在这里插入图片描述
进入应用页面后,记录下Client ID和Secret。
在这里插入图片描述

支付流程

payment相关接口的支付流程为:
1、获取accesstoken
2、商户根据订单填充订单信息(事例index.php中create_payment()相关操作)
3、填充完后将数据POST到'/v1/payments/payment'接口(事例index.php中create_payment()相关操作)
4、根据返回值,跳转到返回值中links里的’rel’=‘approval_url’对应的地址中(事例index.php中create_payment()相关操作)
5、用户(登陆准备工作时记录的PERSONAL账号)在该网页完成付款确认点击继续则跳转到执行payment的链接(create_payment()中设置的’redirect_urls’中的’return_url’)并把payerid和paymentid设置在url的参数中
6、执行payment的链接中,商户需要获取到这2个参数后调用'/v1/payments/payment/{paymentid}/execute'接口,完成支付流程。(事例index.php中excute()相关操作)

事例

下面是简单封装了一下的payment相关操作的接口调用。访问index.php,create_payment函数构造订单信息,授权成功跳转localhost?a=excute&PayerID=xxx&paymentid=xxx,excute函数调用paypal类的ExcutePayment方法完成付款。
Paypal.php类

<?php
class Paypal{
    protected $appId;
    protected $appSecret;
    protected $baseUrl='https://api.sandbox.paypal.com';
    /*构造函数,把实例化Paypal类时传进来的appId和appSecret保存起来
     *
     *
     * */
    function __construct($appId,$appSecret)
    {
        $this->appId = $appId;
        $this->appSecret = $appSecret;
    }
    /*curl post
     *param
     * $extreUrl string  接口地址
     * $data     array   提交的数据 为空时为get请求
     * $header   array   请求头信息
     * $Oauth    bool    是否使用Oauth验证
     * return    array   响应信息
     * */
    protected function httpRequest($extreUrl,$data,$header,$Oauth=false)
    {
        $url=$this->baseUrl.$extreUrl;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值