忘记密码?

一键登录

草根吧源码论坛

[DC] 通用支付 API 调用指南 版本号:v1.0.1

查看: 907|回复: 1

[DC] 通用支付 API 调用指南 版本号:v1.0.1

[复制链接]

407

主题

2814

热度

2158

贡献

草根总版主

Rank: 8Rank: 8

联盟成员

发表于 2015-1-24 10:28:32 | 显示全部楼层 |阅读模式 | 百度  360  谷歌 
分享到:
本帖最后由 路人甲 于 2015-1-24 10:29 编辑

[DC]  通用支付 API 调用指南

版本号:v1.0.1
------------------------------------------------------------------------------------------------------------------------------------------------------

1、文档说明
  • 1.1功能描述
                为其他第三方 DISCUZ X!提供在线支付调用接口,从而不必再自己开发在线支付功能。用户可统一管理支付接口参数的设置。
  • 1.2阅读对象
                面向具有一定的开发 DISCUZ X插件能力的开发、维护和管理人员。
2、调用说明
         在需要使用在线支付(RMB支付)时,引用核心调用文件
    (payment.lib.class.php)。
         第三方插件引用代码
  1. require_once DISCUZ_ROOT.'./source/plugin/dc_pay/payment.lib.class.php';
复制代码
        或者
  1. require_once '../ dc_pay/payment.lib.class.php';
复制代码
        引用时注意文件路径

3、文件详解
           文件代码存在两个类:PayHook、PayMent。

  • 3.1、PayHook支付服务注册类(static)
                  该静态类主要用于支付服务的注册、卸载。
                  核心作用是在用户支付完成后,在向服务器发送已付款通知时,根据服
              务注册的信息通知第三方插件处理业务。(详见  4、回调说明)
                 $phr = array(
                 'plugin'=>'dc_paydemo', //插件标识符
                 'include'=>'paydemo.class.php', //注册类文件
                 'class'=>'paydemo', //注册类名称
                 'return'=>'doreturn', //注册页面跳转同步通知方法
                 'notify'=>'donotify', //注册服务器异步通知方法
                  );
                  PayHook::Register($phr); //注册


                  注册服务项建议放置在插件的安装文件中,另建议在插件的安装检测文
            件(check.php)中检测是否已安装本插件,否则在注册服务时会出错。
     
  1. PayHook::UnRegister('dc_paydemo');    //卸载
复制代码
                 卸载服务项建议放置在插件的卸载文件中
  • 3.2、PayMent支付服务核心类(dynamic)
              1、__construct构造函数
              参数
          参数             说明                           必须
          plugin           第三方插件标识符      必

              如:$pay = new PayMent(‘dc_paydemo’);

              2、GetPayType获取可用支付类型
             如:$pay-> GetPayType ();
             返回:
                    array(‘alipay’,’tenpay’)


              3、GetPayInfo获取指定支付类型的名称及    logo
           参数
      参数        说明                                                 必须
      pt            支付类型标识码,如:alipay             必

           如:$pay-> GetPayInfo(‘alipay’);
           返回:
                  array(
                          ‘title’=>’支付宝’  ,
                          ’logo’=>’草根吧 [DC]  通用支付 API 调用指南 版本号:v1.0.1 版本号,通用,在线支付,实际应用,效果图 精品教程 logo
                   )


                 4、SetPayType设置支付类型
               参数
             参数            说明                                          必须
             pt                支付类型标识码,如:alipay     必

                可多次设置支付类型

                如:$pay-> SetPayType(‘alipay’); $pay-> SetPayType(‘tenpay);


                5、SetOrder设置订单
             参数
         参数             说明                                                必须
         orderid         订单 ID,可留空                              非
         price             总价格,可保留两位小数                必
         subject         订单名称                                        必
         body            订单描述                                        非
         showurl        商品页面                                        非

               如:$pay-> SetOrder(
                                           ‘2011112313’,
                                           ’10.00’,
                                           ‘商品标题’,
                                           ‘商品描述’,
                                           ‘ http://www.xxxx.com/show.php?id=xxx
                                    );
                  
                  返回:订单号
                  注:建议 orderid留空,留空会自动创建一个新订单号,使用返回的订单号
            写入到贵方插件的订单系统中。



                  6、GetPayUrl获取支付链接
         
              如:$pay-> GetPayUrl();
             返回:支付链接数组,具体由  SetPayType决定


             如:array(
                            ‘alipay’=>’http://xxxxxxxxx’,
                            ‘tenpay’=>’http://xxxxxxxxx’
                    )


                   7、GetPayForm获取支付表单
                   参数
               参数                     说明                                              必须
               button_name       表单按钮名称                                非
               button_style        表单按钮样式                                 非
               method                表单提交方法  GET OR POST         非


                    如:$pay-> GetPayForm(‘提交’,’width:80px;’,’get’);

                返回:支付表单数组,具体由  SetPayType决定
                        如:array(
                               ‘alipay’=>’表单代码’,
                               ‘tenpay’=>’代码’
                        )


4、付款通知回调
           1、回调流程


         支付平台  →  本支付API插件  →   实际调用插件


         该回调需使用前置注册的支付服务信息,通过该注册信息通知实际需要
  使用的插件,完成该笔付款的业务处理。
         如果未注册服务,则本支付 API即无法正确通知实际插件,造成该笔付
  款无法处理业务。


           2、回调处理演示代码(paydemo.class.php)


    class paydemo{
    public function donotify($orderid){ //支付成功后,服务器异步通知,$orderid为订单号
            ///////////业务处理/////////////
            //不得输出任何字符,不得跳转页面,不得终止代码执行
            //根据返回的订单号,处理该订单的信息
            //
     }
    public function doreturn($orderid){//支付成功后,页面跳转同步通知,$orderid为订单号
            ///////////业务处理/////////////
            //业务处理完成后,请跳转到一个支付成功的页面
            //dheader('location:http://www.xxx.com/plugin.php?id=dc_paydemo:payok');
            global $_G;
            dheader('location:'.$_G['siteurl'].'plugin.php?id=dc_paydemo:payok');
      }
}
  
          3、更多代码,详见草根吧VIP群文件共享提供的演示插件代码(dc_paydemo)


草根吧实际应用演示效果图:
草根吧 [DC]  通用支付 API 调用指南 版本号:v1.0.1 版本号,通用,在线支付,实际应用,效果图 精品教程 forum
草根吧 [DC]  通用支付 API 调用指南 版本号:v1.0.1 版本号,通用,在线支付,实际应用,效果图 精品教程 forum
[DC] 通用支付API 调用指南适用于:
[DC]VIP中心 专业版v1.2.5 价值99元
http://www.caogen8.co/thread-11322-1-1.html
(出处: 草根吧源码论坛)

支付宝购买用户组 商业版--------下载地址
http://www.caogen8.co/thread-5928-1-1.html
(出处: 草根吧源码论坛)

帖子地址: 

ㄣ↘Catch me if you can!
回复

举报

0

主题

8

热度

0

贡献

步入草根

Rank: 1

发表于 2015-3-13 09:22:28 | 显示全部楼层
怎么没人顶贴

发表回复

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 用百度帐号登录 一键登录:

本版积分规则

收藏帖子 返回列表 搜索
快速回复 返回顶部 返回列表