集成paypal支付接口的,对象是海外用户,全部用US的信用卡结算; 项目结束的时候就有想法写一篇网站集成paypal的简易教程,方便以后的各位开发者
修改的文件路径是\vendor\codeages\biz-order-pay\src\Pay\Payment;
增加PalPayGateway.php文件
<?php
namespace Codeages\Biz\Pay\Payment;
use Codeages\Biz\Framework\Service\Exception\AccessDeniedException;
use Codeages\Biz\Framework\Service\Exception\InvalidArgumentException;
use Codeages\Biz\Framework\Util\ArrayToolkit;
class PalPayGateway extends AbstractGateway
{
//**在线案例演示地址:http://all.zkdygl.com/course/20**
protected $url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';(沙盒环境)
protected $wapUrl = 'https://www.sandbox.paypal.com/cgi-bin/webscr';(沙盒环境)
// protected $url = 'https://www.paypal.com/cgi-bin/webscr';(正式环境)
// protected $wapUrl = 'https://www.paypal.com/cgi-bin/webscr';(正式环境)
protected $isWap = false;
public function createTrade($data)
{
if (!ArrayToolkit::requireds($data, array(
'goods_title',
'goods_detail',
'attach',
'trade_sn',
'amount',
'notify_url',
'return_url',
'create_ip',
))) {
throw new InvalidArgumentException('trade args is invalid.');
}
$platformType = empty($data['platform_type']) ? 'Web' : $data['platform_type'];
if ($platformType == 'Wap') {
$this->url = $this->wapUrl;
$this->isWap = true;
}
$data = $this->convertParams($data);
return array(
'url' => "",
'data' => $data
);
}
private function verified($data){
$req = 'cmd=_notify-validate';
if(function_exists('get_magic_quotes_gpc')) $get_magic_quotes_exists = true;
foreach ($data as $key => $value) {
if($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1){
$value = urlencode(stripslashes($value));
}else{