SDK 集成

目前 MaxLeap PHP SDK 仅支持 移动支付 服务,更多服务敬请期待。

兼容性

目前 MaxLeap 的php-SDK 运行于 php 5.4 以上版本,您也可以对库文件进行适当修改,以符合您所使用的php环境。就目前所知的兼容性问题包括但不仅限于函数数组的使用,譬如 $ret_array()[]。

如何查看php版本

php -version

安装SDK

php pay sdk仅包含一个库文件,您可以直接去github上下载该文件即可。

获取SDK

下载

有效文件为 MLPay.php

测试SDK

bill 测试

通过内部文件testMLpay.php,可以对MLPay.php库文件进行简单的测试

支付宝支付

php testMLpay.php bill ali_web

此时,我们将得到如下结果:

stdClass Object
(
    [id] => 56930318e4b0018057291132
    [ali_app] => _input_charset="utf-8"&notify_url="http://101.95.153.34:7777/maxpay/alinotify"&out_trade_no="56930318e4b0018057291132"&partner="2088121305224121"&payment_type="1"&return_url="http://www.qq.com"&seller_id="2088121305224121"&service="mobile.securitypay.pay"&sign="mlwsJRkiiEdkGKjteE3gVNQP8ZT8BlxvE2yK7AAsHXAu1N33MZcTMKxXxnTcMBdMsSa%2FIta6c21LTjtOFVouCttHEzrJxmi60CRsJGtj4Wx1eqqAozjDfR%2BWA%2B5MC0CHIAv%2FTGLN%2BWJxcQrivFsTDqh%2Fapwv6uO8jlJPLOLxkOU%3D"&sign_type="RSA"&subject="it will be ok!"&total_fee="0.01"
    [ali_web] => https://mapi.alipay.com/gateway.do?_input_charset=utf-8&notify_url=http://101.95.153.34:7777/maxpay/alinotify&out_trade_no=56930318e4b0018057291132&partner=2088121305224121&payment_type=1&return_url=http://www.qq.com&seller_id=2088121305224121&service=create_direct_pay_by_user&sign=0791e8812c3c16729ba45bd009e2f257&sign_type=MD5&subject=it will be ok!&total_fee=0.01
    [msg] => OK
    [code] => 0
)

表明支付宝支付接口测试通过。

注意:

  • 返回的数据对象所包含的内容以用户提交的数据为准。

微信支付

php testMLpay.php bill wx_native

此时,我们将得到如下结果:

stdClass Object
(
    [prepayid] => wx20160119104319f0f91df8b90436948052
    [codeUrl] => weixin://wxpay/bizpayurl?pr=IysMGTv
    [code] => 0
)

表明微信支付接口测试通过。

注意:

  • 返回的数据对象所包含的内容以用户提交的数据为准。

银联支付

php testMLpay.php bill unipay_web

此时,我们将得到如下结果:

stdClass Object
(
    [html] => <html>......</html>
    [code] => 0
)

表明银联支付接口测试通过。

注意:

  • 返回的数据对象所包含的内容以用户提交的数据为准。

Record 测试

php testMLpay.php record

此时,系统会给出所有关于billNum=‘112233'的所有付款内容

stdClass Object
(
    [results] => Array
        (
            [0] => stdClass Object
                (
                    [billNum] => 112233
                    [channel] => ali_web
                    [createdTime] => 1451963296736
                    [currency] => CNY
                    [endTime] => 1451963326237
                    [id] => 568b33a0f7e4beba9244a8e0
                    [money] => 0.01 CNY
                    [status] => success
                    [totalFee] => 1
                )

            [1] => stdClass Object
                (
                    [billNum] => 112233
                    [channel] => ali_web
                    [createdTime] => 1451963799276
                    [currency] => CNY
                    [id] => 568b3577f7e4826974829ef6
                    [money] => 0.01 CNY
                    [status] => created
                    [totalFee] => 1
                )
  ...
  }

表明查询接口测试通过。

至此表明该SDK部署全部成功。

注:

  • 微信支付返回的codeUrl可以生成一个二维码进行扫码支付,代码参考如下
$widhtHeight = 200;
$EC_level='L';
$margin='0';
$chl=$codeUrl;
$size="xxxx";
echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
  • 银联支付返回的html可以生成一个html页面,该页面会带领用户前往银联认证页面进行相关支付行为。

移动支付

简介

目前支持支付宝、微信、银联支付等渠道,支持支付及查询订单功能。我们将持续更新,支持更多支付平台和更多功能,敬请期待。

使用

请使用php5.4以上版本,并安装php-curl等相关模块

首先请下载php-sdk

支付

1. require “MLPay.php”;

2. 填充数组 $data ,内容包括

必填:
  • appid: 由MaxLeap 后台获取,类型:String
  • token: 由MaxLeap 后台获取,类型:String
  • billNum: 订单号,需要保证唯一,由客户端提供,需请自行确保在商户系统中唯一,类型:String
  • channel: 支付渠道, 目前支持 ali_web,wx_native,unipay_web 类型:String
  • totalFee: 整数,单位为分,类型:Integer
  • subject: 订单主题,类型:String
可选:
  • extras: 附加数据, 类型:Array
  • returnUrl: 同步自动跳转url类型:String (银联付款必填)

3. 静态调用

$result = MLPayApi::bill($data);

4. 返回值包含在$result中,结构如下:

支付宝: { code:0, msg:"OK", err:"", id:"", ali_app:"", ali_web:"" }

微信 { code:0, prepayid:"", codeUrl:"", }

银联 { code:0, html:"" }

说明:

支付宝: * code: 类型: Integer; 含义:返回码,0为正常 * msg: 类型: String; 含义: 返回信息, OK为正常 * err: 类型: String; 含义: 具体错误信息 * id: 类型: String; 含义: 成功发起支付后返回支付表记录唯一标识

微信: * code: 类型: Integer; 含义:返回码,0为正常 * prepayid: 类型: String; 含义: 返回信息,微信支付id * codeUrl: 类型: String; 含义: 返回信息,二维码信息

银联: * code: 类型: Integer; 含义:返回码,0为正常 * html: 类型: String; 含义: html页面,该页面包含跳转到银联支付的所有信息

返回code 定义:
  • 0 | OK | 成功
  • 1 | APP_INVALID | 根据app_id找不到对应的APP或者app_sign不正确
  • 2 | PAY_FACTOR_NOT_SET | 支付要素在后台没有设置
  • 3 | CHANNEL_INVALID | channel参数不合法
  • 4 | MISS_PARAM | 缺少必填参数
  • 5 | PARAM_INVALID | 参数不合法
  • 6 | CERT_FILE_ERROR | 证书错误
  • 7 | CHANNEL_ERROR | 渠道内部错误
  • 14 | RUN_TIME_ERROR | 实时未知错误,请与技术联系帮助查看

交易查询

1. require “MLPay.php”;

2. 填充数组$data, 内容包括

必填:
  • appid: 由MaxLeap 后台获取,类型:String
  • token: 由MaxLeap 后台获取,类型:String
  • billNum: 订单号,类型:String

3. 静态调用

$result = MLPayApi::record($data);

4. 返回值包含在$result中,结构如下:

    {
     code:0,//0为正常,1为appid不存在
     results:[{
        "billNum": "a0afb0d7-e26f-4e94-bb7b-8265fc1492b7",
        "channel": "ali_web",//("wx_native")
        status:"created",//string,分别为created未支付,sucess已支付,refund已退款。
        "createdTime":121111121121,//timstamp
        "endTime":12132132131231,//timstamp
        "totalFee": 1,
        "extras":{
            "1": "2"
        }
      }]
    }

参考程序可运行testMLpay.php, 运行方式

1. 支付宝支付

php testMLpay.php bill ali_web

2. 支付宝查询

php testMLpay.php record ali_web

3. 微信支付

php testMLpay.php bill wx_native

4. 微信查询

php testMLpay.php record wx_native

5. 银联支付

php testMLpay.php bill unipay_web

6. 银联查询

php testMLpay.php record unipay_web