apicloud apicloud

注册
查看: 5570|回复: 17

[APP开发技巧] 8月22日成都培训 商城案例分享(支付模块ping++)

主题:
53
帖子:
333
云币:
552

APICloud粉丝APICloud毕业勋章一周年

[APP开发技巧] 8月22日成都培训 商城案例分享(支付模块ping++)

5570 17 | 发表于 2015-8-24 16:17:29 |阅读模式 | |
本帖最后由 流浪男 于 2015-8-24 17:49 编辑

8月25日成都培训  商城案例分享(支付模块ping++)


包含功能:
服务器端获取商品列表
商品浏览
下单支付





php端实现
  1. public function order(){
  2.                 $product_id = new_htmlentities($_POST['product_id']);//商品id

  3.                 //根据商品id获取基本信息,根据自己的实际情况修改数据库查询
  4.                 $productInfo = $this->product_db->get_one(array('id'=>$product_id));

  5.                 $money = new_htmlentities($_POST['money'])*100;//商品价格
  6.                 $quantity = new_htmlentities($_POST['quantity']);//商品数量
  7.                 $subject = $productInfo['title'];
  8.                 $body = $productInfo['title'];//订单描述
  9.                 $payment = new_htmlentities($_POST['payment']);//支付方式
  10.                 $trade_sn = createSn();//订单号
  11.                 $ip = ip();//ip

  12.                 //写入订单的数据
  13.                
  14.                 $data['product_id'] = $product_id;
  15.                 $data['trade_sn'] = $trade_sn;

  16.                 $data['name'] = $_POST['name'];
  17.                 $data['address'] = $_POST['address'];
  18.                 $data['mobile'] = $_POST['mobile'];

  19.                 $data['money'] = $_POST['money'];
  20.                 $data['quantity'] = $quantity;
  21.                 $data['payment'] = $payment;
  22.                 $data['status'] = 'waitting';
  23.                 $data['inputtime'] = time();
  24.                 $data['ip'] = $ip;

  25.                 /*写入订单数据表操作*/
  26.                 $this->order_db->insert($data);

  27.                 require_once dirname(__FILE__).'/pingpp_init.php';
  28.                 if (empty($payment) || empty($money)) {
  29.                     exit();
  30.                 }
  31.                 \Pingpp\Pingpp::setApiKey('key,在ping++后台查看');
  32.                 try {
  33.                     $ch = \Pingpp\Charge::create(
  34.                         array(
  35.                             "subject"   => $subject,
  36.                             "body"      => $subject,
  37.                             "amount"    => $money,
  38.                             "order_no"  => $trade_sn,
  39.                             "currency"  => "cny",
  40.                             "channel"   => $payment,
  41.                             "client_ip" => $ip,
  42.                             "app"       => array("id" => "appkey"),
  43.                             'metadata'  => array('type' => 'demo')
  44.                         )
  45.                     );
  46.                     echo $ch;
  47.                 } catch (\Pingpp\Error\Base $e) {
  48.                     header('Status: ' . $e->getHttpStatus());
  49.                     echo($e->getHttpBody());

  50.                 }
  51.         }
复制代码

在ping++后台webhooks配置回调地址

回调地址的处理操作
  1. public function success(){
  2.         $input_data = json_decode(file_get_contents('php://input'), true);
  3.         if($input_data['type'] == 'charge.succeeded'&& $input_data['data']['object']['paid'] == true){
  4.                 $trade_sn = $input_data['data']['object']['order_no'];
  5.                 $paytype = $input_data['data']['object']['metadata']['type'];
  6.             //支付成功
  7.             /*
  8.             *根据实际情况写一个支付成功后的处理
  9.             */
  10.             

  11.         }else if($input_data['type'] == 'refund.succeeded'&& $input_data['data']['object']['succeed'] == true){

  12.         }
  13. }
复制代码



图片



本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

2

查看全部评分

业余车手

UID:22414

主题:
8
帖子:
815
云币:
12667

版主勋章APICloud粉丝

发表于 2015-8-24 16:20:32 |
感谢分享

主题:
1102
帖子:
5131
云币:
2147214885

圣诞节捣蛋鬼APICloud大会专属勋章足球狗儿童节快乐

发表于 2015-8-24 16:21:13 |
这次是支付模块,给力

主题:
4
帖子:
1711
云币:
1437

APICloud粉丝一周年圣诞节SB侠

发表于 2015-8-24 16:22:40 |
版主给力啊,每次都分享源码

新手上路

UID:107483

主题:
10
帖子:
31
云币:
118
发表于 2015-8-24 16:26:02 |
支持哇!~~~

主题:
3
帖子:
9
云币:
14
发表于 2015-8-24 16:27:42 |
mark需要的时候就有用了

主题:
20
帖子:
54
云币:
132
发表于 2015-8-24 16:28:50 |
如果培训课程能视频录制保存下来,对推广可能更有利吧...总之,感谢分享

主题:
6
帖子:
23
云币:
53
发表于 2015-8-25 09:29:15 |
感谢分享,   

主题:
53
帖子:
333
云币:
552

APICloud粉丝APICloud毕业勋章一周年

 楼主| 发表于 2015-8-26 17:20:36 |
时代小召唤 发表于 2015-8-24 16:28
如果培训课程能视频录制保存下来,对推广可能更有利吧...总之,感谢分享

谢谢,后面争取录一下

主题:
0
帖子:
6
云币:
11
发表于 2015-9-3 08:45:17 |
楼主真是棒棒哒,感谢分享,这个是我需要的
12下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表