PHP对接贝宝支付的方法

  

本文将为大家详细介绍“PHP对接paypal支付的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“PHP对接paypal支付的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

环境准备

  • 注册paypal账号

  • 注册paypal开发者账号

  • 创建paypal沙盒测试账户

  • 创建paypal应用

  • 下载PHP SDK

  • 实现支付

  • 实现支付成功回调

  • 实现退款

  • 更多API代码模板

注册paypal账号

  • www.paypal.com 注册商家账户

  • 选择,”创建商家用户”,根据要求填写信息,注册完得去邮箱激活

注册paypal开发者账号

  • developer.paypal.com 使用上一步注册的账号登录

  • 在左侧导航栏点击Accounts,创建两个sandbox账号,一个个人账号(personal)用于付款,一个商家账号(business)用于收款,系统已经默认创建了两个,可以自己选择创建,方便记忆; 创建账号后记得给当前账号添加余额用于接下来的测试。
    PHP对接paypal支付的方法

  • 用刚才创建的测试账号登录沙盒测试站点,查看金额和交易信息www.sandbox.paypal.com

创建沙盒应用APP

  • 账号默认给创建好了一个Default Application,点击查看获取 ClientId和Secret;保存起来,接下来接口调用会使用到;(上线时请重新创建一个Live的应用)
    PHP对接paypal支付的方法

下载SDK

  • 本人使用laravel框架,使用composer下载paypal包

  • composer require paypal/rest-api-sdk-php

实现支付

  • 以下是生成支付的代码片段,伪代码

    function createPayPal(){
      ,,,,,shippingPrice 美元;=,2;
      ,,,,,taxPrice 美元;=,0;
      ,,,,,subTotal 美元;=,26日;
      ,,,,,item1 美元;=,new 贝宝Api \ \项目();
      ,,,,,美元item1→setName(“产品2“)→setCurrency (“USD")→setQuantity (1)→setPrice (10);
      ,,,,,item2 美元;=,new 贝宝Api \ \项目();
      ,,,,,第二条→美元setName(“产品1“)→setCurrency (“USD")→setQuantity (2)→setPrice (8);
      
      ,,,,,itemList 美元;=,new 贝宝\ Api \ ItemList ();
      ,,,,,美元itemList→additem ([item1,第二条美元]);
      
      ,,,,,//Set  payment 细节
      ,,,,,details 美元;=,new 贝宝\ Api \细节();
      ,,,,,细节→美元setShipping (shippingPrice美元)→setTax (taxPrice美元)→setSubtotal(小计美元);
      
      ,,,,,//Set  payment 数量
      ,,,,,//注意,此处的小计,必须是产品数*产品价格,所有值必须是正确的,否则会报的错
      ,,,,,total 美元;=,shippingPrice 美元;+,subTotal 美元;+,taxPrice美元;
      ,,,,,amount 美元;=,new 贝宝\ Api \数量();
      ,,,,,美元金额→setCurrency (“USD")→setTotal ($)→setDetails($细节);
      
      ,,,,,//Set  transaction 对象
      ,,,,,transaction 美元;=,new 贝宝\ Api \事务();
      ,,,,,美元交易→setAmount金额($)→setItemList ($ itemList)→setDescription(“这是交易描述“)
      ,,,,,,,,,→setInvoiceNumber函数(());//setInvoiceNumber为支付唯一标识符,在使用时建议改成订单号
      
      ,,,,,payer 美元;=,new 贝宝\ Api \付款人();
      ,,,,,付款人→美元setPaymentMethod(& # 39;贝宝# 39;);//(“credit_card",,“paypal"】
      ,,,,,redirectUrls 美元;=,new 贝宝\ Api \ RedirectUrls ();
      ,,,,,redirectUrl 美元;=,“http://test.com/redirect/success"//支付成功跳转的回调
      ,,,,,cancelUrl 美元;=,“http://test.com/redirect/cancel"//取消支付的回调
      ,,,,,美元redirectUrls→setReturnUrl (redirectUrl美元)→setCancelUrl ($ cancelUrl);
      
      ,,,,,//,Create 从而full  payment 对象
      ,,,,,payment 美元;=,new 贝宝\ Api \支付();
      ,,,,,美元付款→setIntent (“sale")→setPayer(付款人)→setRedirectUrls (redirectUrls美元)→addTransaction(事务);
      
      ,,,,,try  {
      ,,,,,,,,,clientId 美元;=,“xxxxxx"//上面应用的clientId和秘密
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null
      null

    PHP对接贝宝支付的方法