ipaynowScanner
来自于:现在支付立即使用
generatePresignMessage doSignature pay
概述
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及更高版本