paypal国际支付的对接,使用tp5开发paypal
- 前言
paypal是一种国际支付,并且是一个免费的产品,用户支付并不需要扣除用户消费的手续费,只在商家端扣除的,是一个不错的国际支付
2.下载
直接到github下载php-sdk包,我下载完直接在extend中使用
使用
<?php
/*** Created by PhpStorm.* User: faker1* Date: 2018/5/19* Time: 下午4:34*/
namespace app\api\controller;
use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
//use PayPal\Api\Amount;
//use PayPal\Api\Details;
//use PayPal\Api\Item;
//use PayPal\Api\ItemList;
//use PayPal\Api\Payer;
//use PayPal\Api\Payment;
//use PayPal\Api\RedirectUrls;
//use PayPal\Api\Transaction;
//use Psr\Log\AbstractLogger;
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Api\ShippingAddress;class Paypal
{public function pay_goods(){require "../extend/PayPal-PHP/autoload.php"; //载入sdk的自动加载文件$clientId = 'AQQ-TNT3ISxFoGSB0-E7nETfMCqt8I9jpoDvuDKQv0b33n9Ir6IJ4l3gJm3pkT8G7YcyRzPBS3EaG0eg';$clientSecret = 'EM5woX_Ic5GD7kdFynlMoboQtQcFNqCNqDU1ESz27H9qveZQ02x1ozFwxhnu8mGEL1ivhFAvuVzCbqvg';$apiContext = new ApiContext(new OAuthTokenCredential($clientId,$clientSecret));$apiContext->setConfig(array('mode' => 'sandbox','log.LogEnabled' => true,'log.FileName' => '../PayPal.log','log.LogLevel' => 'DEBUG', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS'cache.enabled' => true,));$payer = new Payer();$payer->setPaymentMethod("paypal");$item1 = new Item();$item1->setName('test pro 1')->setCurrency('USD')->setQuantity(1)->setSku("testpro1_01")// Similar to `item_number` in Classic API->setPrice(20);$item2 = new Item();$item2->setName('test pro 2')->setCurrency('USD')->setQuantity(5)->setSku("testpro2_01")// Similar to `item_number` in Classic API->setPrice(10);$itemList = new ItemList();$itemList->setItems(array($item1, $item2));$address = new ShippingAddress();$address->setRecipientName('什么名字')->setLine1('什么街什么路什么小区')->setLine2('什么单元什么号')->setCity('城市名')->setState('浙江省')->setPhone('12345678911')->setPostalCode('12345')->setCountryCode('CN');$itemList->setShippingAddress($address);$details = new Details();$details->setShipping(5)->setTax(10)->setSubtotal(70);$amount = new Amount();$amount->setCurrency("USD")->setTotal(85)->setDetails($details);$transaction = new Transaction();$transaction->setAmount($amount)->setItemList($itemList)->setDescription("Payment description")->setInvoiceNumber(uniqid());$baseUrl = 'http://'.$_SERVER["HTTP_HOST"];$redirectUrls = new RedirectUrls();$redirectUrls->setReturnUrl("$baseUrl/api/Paypal/success")->setCancelUrl("$baseUrl/api/Paypal/cancel");$payment = new Payment();$payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction));$payment->create($apiContext);$approvalUrl = $payment->getApprovalLink();dump($approvalUrl);}public function success(){echo 'success';}public function cancel(){echo 'cancel';}
}
end
paypal国际支付的对接,使用tp5开发paypal相关推荐
- PayPal 国际支付接口安全可行性平台(电子商务)集成解决方案
IPN的原理很简单,就是当产生了一个交易之后,交易状态发生变化时,如用户已经付款.或者退款.撤销时,Paypal利用常用的HTTP POST方 式,将交易的一些变量提交给网站的某个页面(称之为IPN ...
- stripe国际支付(对接支付宝、微信)
前言:stripe国际支付现在网上资料很少,且不支持中国,所以如果要用需要去支持的国家注册商户,官网的java demo是用的spark框架,我这里用的spring,验签需要手动验签,且不能用官网的方 ...
- tp5开发PayPal
首先在你项目下安装composer引入paypal的sdk 首先在composer.json添加引入paypal 在linux服务器你的项目地址执行指令 指令:composer require &qu ...
- paypal html5 支付,uniapp 对接 paypal支付 (h5,app端)
由于工作需要,需要对接国外的PayPal支付,前端框架用的又是UNIAPP,众所周知UNIAPP国内的生态环境还可以,但是到了国外嘛 嘿嘿 懂得都懂. uniapp app对接Paypal支付 作 ...
- paypal国际支付——SpringBoot
一.登录paypal官网,创建账户,创建项目,获取到Client ID,Secret https://developer.paypal.com/developer/applications/ 创建AP ...
- 怎样在自己的网站上集成paypal国际支付方式
怎么在自己的企业站.销售网站上集成paypal国际支付 有些网站可能需要接收来自全球各地的付款,无疑paypal将是你的最佳选择,paypal是什么东西大家可以自己网上查找相关资料,跟国内支付宝类似, ...
- 使用paypal-php-sdk开发php国际支付
参考:https://github.com/paypal/PayPal-PHP-SDK/wiki https://blog.csdn.net/markely/article/details/79044 ...
- WoShop跨境电商国际支付Paypal支付商城全开源无加密商城源码
WoShop跨境电商国际支付Paypal支付商城全开源无加密商城源码 现在的企业都喜欢直接用源码进行开发,特别是在跨境电商版块这一行,很多企业都是直接购买跨境电商系统源码再进行一个二次开发,从而给自己 ...
- PHP如何开发paypal支付插件
2019独角兽企业重金招聘Python工程师标准>>> 以前的企业商务网站只限于国内支付宝的表单交易,无法面向国际外贸的支付业务如paypal,visa等,当然joomla国外cms ...
最新文章
- ES什么时候会平衡分片
- 读芯片信息出错3_数字传感器的电路设计,跟着芯片哥学你也会
- Matlab篇(三)MATLAB中conj的用法
- 跑赢A股95%的公司,半年大涨115%!明年的海尔智家更令人期待!
- 容器必须设置宽度吗_UI设计必须要具备的前端知识
- Linux 学习 (一)
- MySQL多种安装方式选择
- RocksDB事务实现TransactionDB分析
- 现在很多单位有用计算机,为什么到了现在,还有很多的单位在用着xp系统?
- swap,交换,第三随笔
- 面试官:如果要存ip地址,用什么数据类型比较好?
- C语言口令,某一本地口令验证函数(c语言环境,x86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origpassw...
- Python学习笔记_Day4_集合
- Atitit 源码语句解析结构 目录 1.1. 栈帧(stack frame).每个独立的栈帧一般包括:	1 1.2. 局部变量表(Local Variable Table)	2 2. ref	2
- Oct.14 华为数通部算法岗面经
- 计算机及软件工程专业基础综合,2019年东华大学854计算机及软件工程专业基础综合考研初试大纲...
- linux服务器修改ftp默认21端口方法
- selenium对弹窗(alert)的处理
- 2022年淘宝618活动时间和天猫618有什么优惠活动
- centos 安装 Go环境