帮助中心
调用支付宝和微信支付

功能说明:

  变色龙支持JS-SDK调用原生支付功能。现在支持支付宝支付、微信支付。

    注:功能要调用js-sdk,所需功能网页内加载js-sdk.js文件。

      支付回调返回详细的参数,自已判断返回码。


调用说明:

  payType(data,'payType','callbackMethod');

  参数

   1.data是支付所用到的串。

   微信data:'{

         "appid":"wxb4ba3c02aa476ea1",  //微信开放平台appid

         "partnerid":"1305176001",    //微信开放平台的partnerid

         "package":"Sign=WXPay",      //固定值

         "noncestr":"4d18***72",      //

         "timestamp":1468313807,      //时间戳

         "prepayid":"wx201***323458",   //

         "sign":"F4B38***4B896E1"     //根据制定规则生成的签名

         }'       

   :微信data的数据格式必须为'{"param1":"val1","param2":"val2"}',最外面为单引号,

    中间为双引号。格式不对是无法支付。


   支付宝支持支付宝内移动支付和蚂蚁开放平台App支付。建议用蚂蚁开放平台App支付。

    支付宝(蚂蚁开放平台参数)

    data"

      alipay_sdk=alipay-sdk-php-20161101

      &app_id=2002030550

      &biz_content=%7B%22subje*****%7D

      &charset=UTF-8

      &format=json

      &method=alipay.trade.app.pay

      &notify_url=https%3A%2F%2Fwww.appbsl.com%2F

      &sign_type=RSA

      &timestamp=2017-02-16+18%3A10%3A44

      &version=1.0

      &sign=S4DuhMfIx3*****s%3D"

  蚂蚁开放平台帮助:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.xLJxch&treeId=204&articleId=105465&docType=1

    注:支付宝data具体生成方式请参考相关平台的技术文档,不需要base64编码。


   支付宝(移动支付参数)

        data:'

          partner="*****"            //

          &seller_id="***@***.com"&       //

          out_trade_no="14****1583"       //

          &subject="测试"            //

          &body="测试"             //

          &total_fee="1.00"          //

          &notify_url="YourUrl"         //

          &service="mobile.securitypay.pay"  //

          &payment_type="1"          //

          &_input_charset="utf-8"       //

          &it_b_pay="30m"           //

          &key=""               //

          &sign="sE*****3D"          //

          &sign_type="RSA"          //

         '

   支付宝帮助:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103663&docType=1

           以上data数据实例(敏感信息部分已处理,不可直接用于测试) 


      2.paytype:支付方式支持两种:

          WEIXIN (微信支付)

          ALIPAY(支付宝支付)

      3.callbackMethod:

        是支付完成以后的回调方法(用户自己定义),如果方法内有弹出提示(alert),需要延迟1秒才能正常显示;  

      返回数据:通过调用回调函数(callbackMethod),返回支付结果。


调用示例:

支付宝支付范例代码:

<code>

  <a onClick="alipay()">

    <img src="/Public/images/image/alipay_pay.png" alt="" />

    <p>支付宝支付</p>

  </a>

  <script type="text/javascript">

   function alipay(){
    $.ajax({
      type: 'post',
      url: "{:U('AlipayCore/index')}", //(method path)
      data: '',
      dataType:'json',
      async: true,
      timeout: 200000,
      success: function(data){
      //成功回访
        payType(data,'ALIPAY','payResult');
       }
    });

  }

function payResult(r) {
  if(r == 900){
  setTimeout(function(){
    alert('支付成功!');
  }, 2000);
  }else{
  setTimeout(function(){
    alert('支付失败请刷新后再试!');
    }, 2000);
  }
}

     </script>

    </code>

微信支付范例代码:

<code>

  <img onClick="wxpay()" src="/Public/images/image/micro_pay.png" />

  <p>微信支付</p>

  <script type="text/javascript">

    function wxpay(){//按钮出发的交易事件

      $.ajax({//异步发送请求至后台拼接order串

        type: 'post',

        url: "{:U('WxPayHelper/index')}", //(method path)

        data: '',

        dataType:'json',

        async: true,

        timeout: 200000,

        success: function(data){

           //成功回访 

          payType(data,'WEIXIN','payResult');

        }

      });

    }

    function payResult(r) {
    if(r == 0){
    setTimeout(function(){
      alert('支付成功!');
    }, 2000);
    }else{
      setTimeout(function(){
      alert('支付失败请刷新后再试!');
    }, 2000);
  }
}

  </script>

</code>


注意事项:

回调方法是用户通过 callbackMethod = “回调方法”指定的。支付结果会回调这个方法,如果用户没有编写这个方法,将不能接收到支付结果。

支付结果说明:

微信
0:成功
-1:普通错误类型
-2:用户点击取消并返回
-3:发送失败
-4:授权失败
-5:微信不支持
支付宝
9000:订单支付成功
8000:正在处理中,支付结果未知(可能已成功),请查询商户订单列表中的支付状态
4000:订单支付失败
5000:重复请求
6001:用户中途取消
6002:网络连接出错
6004:支付结果未知(可能已成功),请查询商户订单列表中的支付状态
其他:其他支付错误

返回APP内,需要延迟1秒才能正常显示。

客服

APP

装变色龙移动版

关注

关注微信公众号