ping php支付,thinkphp对接ping++支付

代码演示对接ping++支付接口的类库;

首先现在官方phpsdk

然后把解压代码放到框架的目录的Vendor目录中或者系统类库都可以

控制器调用即可看我的代码,继承的基类根据自己情况改下

这些实现服务端生成凭证class PingpayAction extends WeixinbaseAction {

/**

+----------------------------------------------------------

* 初始化

+----------------------------------------------------------

*/

function _initialize(){

parent::_initialize();

//$this->check_auth();

$this->seo('支付中心');

vendor( "Pay.init");

}

public function index(){

$input_data = json_decode(file_get_contents('php://input'), true);

if (empty($input_data['channel']) || empty($input_data['amount'])) {

echo 'channel or amount is empty';

exit();

}

$channel = strtolower($input_data['channel']);

$amount = $input_data['amount'];

$orderNo = substr(md5(time()), 0, 12);

//$extra 在使用某些渠道的时候,需要填入相应的参数,其它渠道则是 array() .具体见以下代码或者官网中的文档。其他渠道时可以传空值也可以不传。

$extra = array();

switch ($channel) {

case 'alipay_wap':

$extra = array(

'success_url' => 'http://www.yourdomain.com/success',

'cancel_url' => 'http://www.yourdomain.com/cancel'

);

break;

case 'alipay_pc_direct':

$extra = array(

'success_url' => 'http://www.yourdomain.com/success'

);

break;

case 'upmp_wap':

$extra = array(

'result_url' => 'http://www.yourdomain.com/result?code='

);

break;

case 'bfb_wap':

$extra = array(

'result_url' => 'http://www.yourdomain.com/result?code=',

'bfb_login' => true

);

break;

case 'upacp_wap':

$extra = array(

'result_url' => 'http://www.yourdomain.com/result'

);

break;

case 'upacp_pc':

$extra = array(

'result_url' => 'http://www.yourdomain.com/result'

);

break;

case 'wx_pub':

$extra = array(

'open_id' => 'Openid'

);

break;

case 'wx_pub_qr':

$extra = array(

'product_id' => 'Productid'

);

break;

case 'yeepay_wap':

$extra = array(

'product_category' => '1',

'identity_id'=> 'your identity_id',

'identity_type' => 1,

'terminal_type' => 1,

'terminal_id'=>'your terminal_id',

'user_ua'=>'your user_ua',

'result_url'=>'http://www.yourdomain.com/result'

);

break;

case 'jdpay_wap':

$extra = array(

'success_url' => 'http://www.yourdomain.com',

'fail_url'=> 'http://www.yourdomain.com',

'token' => 'dsafadsfasdfadsjuyhfnhujkijunhaf'

);

break;

}

\Pingpp\Pingpp::setApiKey('sk_test_ibbTe5jLGCi5rzfH4OqPW9KC');

try {

$ch = \Pingpp\Charge::create(

array(

'subject'   => 'Your Subject',

'body'      => 'Your Body',

'amount'    => $amount,

'order_no'  => $orderNo,

'currency'  => 'cny',

'extra'     => $extra,

'channel'   => $channel,

'client_ip' => $_SERVER['REMOTE_ADDR'],

'app'       => array('id' => 'app_1Gqj58ynP0mHeX1q')

)

);

echo $ch;

} catch (\Pingpp\Error\Base $e) {

header('Status: ' . $e->getHttpStatus());

echo($e->getHttpBody());

}

}

}

然后视图文件中实例 里面的post地址要改你的网址html>

content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>

测试

            

银联 pc

支付宝 pc

function wap_pay(channel) {

var amount = document.getElementById('amount').value * 100;

var xhr = new XMLHttpRequest();

xhr.open("POST", "http://www.xxx.com/Pingpay/index", true);

xhr.setRequestHeader("Content-type", "application/json");

xhr.send(JSON.stringify({

channel: channel,

amount: amount

}));

xhr.onreadystatechange = function () {

if (xhr.readyState == 4 && xhr.status == 200) {

console.log(xhr.responseText);

pingppPc.createPayment(xhr.responseText, function(result, err) {

console.log(result);

console.log(err);

});

}

}

}

剩下的需要到官方申请正式接口拿到key就可以支付了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值