ipaynowScanner

来自于:现在支付立即使用

概述

ipaynowScanner封装了支付宝、微信等渠道的扫码支付接口。使用此模块可轻松实现各个渠道的支付功能。

准备工作

使用之前需要先到ipaynow注册,并根据技术文档部署 Server SDK。

generatePresignMessage

获取待签名字符串

generatePresignMessage (params, callback(ret, err))

params

  • appId: 类型:字符串 默认值:无 描述:商家从ipaynow申请的商户应用唯一标识,不能为空

  • mhtCharset: 类型:字符串 默认值:无 描述:商户字符编码,定值UTF-8,不能为空

  • mhtCurrencyType: 类型:字符串 默认值:无 描述:商户订单币种类型,156为人民币,不能为空

  • mhtOrderAmt: 类型:字符串 默认值:无 描述:商户订单交易金额,单位为分,不能为空

  • mhtOrderDetail: 类型:字符串 默认值:无 描述:商户订单详情,不能为空

  • mhtOrderName: 类型:字符串 默认值:无 描述:商户商品名称,不能为空

  • mhtOrderNo: 类型:字符串 默认值:无 描述:商户订单号,不能为空

  • mhtorderStartTime: 类型:字符串 默认值:无 描述:商户订单开始时间,yyyyMMddHHmmss,不能为空

  • mhtOrderType: 类型:字符串 默认值:无 描述:商户交易类型,01为普通消费,不能为空

  • notifyUrl: 类型:字符串 默认值:无 描述:商户后台通知URL,不能为空

  • terminalId: 类型:字符串 默认值:无 描述:终端ID,不能为空

  • consumerId: 类型:字符串 默认值:无 描述:客户ID,可以为空

  • consumerName: 类型:字符串 默认值:无 描述:客户名称,可以为空

  • mhtOrderTimeOut: 类型:字符串 默认值:无 描述:商户订单超时时间60~3600(秒),默认3600,可以为空

  • mhtReserved: 类型:字符串 默认值:无 描述:商户保留域 ,可以为空

  • payChannelType: 类型:字符串 默认值:无 描述:渠道类型,下列中的一个值,银联支付:11,支付宝支付:12,微信支付:13, 点卡支付:16,充值卡支付:19,可以为空

  • userName: 类型:字符串 默认值:无 描述:用户名,可以为空

callback(ret, err)

  • ret: 类型:JSON 对象 内部字段: { result: success或fail preSignStr: //待签名字符串(url编码) msg: //当result为fail时出现该字段,说明错误原因
      }
    
    err: 类型:JSON 对象 内部字段: { msg:"" //错误描述 }

    示例代码

    var da = (new Date()).format("yyyyMMddHHmmss");
    var demo = api.require("ipaynowScanner");
    varparam = {
      appId: " 1429254642153614",
      mhtCharset: "UTF-8",
      mhtCurrencyType: "156",
      mhtOrderAmt: "10",
      mhtOrderDetail: "关于订单验证接口的测试",
      mhtOrderName: "iOS插件测试用例",
      mhtOrderNo: da,
      mhtorderStartTime: da,
      mhtOrderType: "01",
      notifyUrl: ”http: //localhost:10802/”,
          terminalId: "002401"
    };
    demo.generatePresignMessage(param, function(ret, err) {
      alert(ret.originStr);
    });
    

    补充说明

获取支付订单的待签名字符串。

可用性

iOS、android系统 可提供的1.0.0及更高版本

doSignature

对订单信息进行签名,商户也可选择自行处理签名不调用此方法,只须pay方法中的data参数满足条件即可。

doSignature(params, callback(ret, err))

params

  • preSignStr: 类型:字符串 默认值:无 描述:待签名字符串,不能为空

  • post_content: 类型:字符串 默认值:无 描述:后台签名请求报文,不能为空

  • post_url: 类型:字符串 默认值:无 描述:后台签名url,不能为空

callback(ret, err)

  • ret: 类型:JSON 对象 内部字段: { result: //签名结果状态,值为success或fail
          preSignStr:         //待签名字符串
    
    resultStr: //后台签名结果字符串 msg: //当为fail时出现该字段,说明错误原因
      }
    
    err: 类型:JSON 对象 内部字段: { msg:”” //错误描述 }

示例代码

var originStr = ret.originStr; //ret为上一步执行结果
var url = "http://yuyangnews.ipaynow.cn/ZyPluginPaymentTest_PAY/api/pay2.php";
var demo = api.require('ipaynow');
varparam = { originStr: originStr, presignStr: "paydata=" + originStr, url: url };
demo.doSignature(param, function(ret, err) {
    alert(ret.resultStr);
});

补充说明

订单信息签名。

可用性

iOS、android系统 可提供的1.0.0及更高版本

pay

支付订单

pay(params, callback(ret, err))

params

  • data: 类型:字符串 默认值:无 描述:商户的订单信息,key=“value”形式,以&连接,(待签名串&mhtSignType=MD5&mhtSignature=签名串),不能为空

  • urlSchema[android可不写]: 类型:字符串 默认值:无 描述:商户app的urlSchema,和config文件中的urlScheme相同,不能为空

callback(ret, err)

  • ret: 类型:JSON 对象 内部字段: { result: //返回的支付结果, [00]支付成功、[01]支付失败、[02]支付取消、[03]支付结果未知; msg:”” //错误描述
      }
    
  • err: 类型:JSON 对象 内部字段: { msg:"" //错误描述 }

示例代码

varpaydata = ret.originStr + "&" + ret.resultStr; //ret为上一步执行结果
var demo = api.require('ipaynow');
varparam = { data: paydata, urlSchema: "UZApp" };
demo.pay(param, function(ret, err) {
    alert(ret.result);
});

补充说明

支付订单。

可用性

iOS、android系统 可提供的1.0.0及更高版本