本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)

API简介

uexPay对象封装了支付功能,通过调用支付宝插件提供在线支付功能。

支付功能需要有支付宝插件的支持,即手机设备安装了支付宝公司提供的无线支付服务插件。此功能需要用户在payConfig文件中配置支付商家的合作商户ID,账户ID,RSA私钥,公钥,支付结果通知的服务器地址等信息。这些信息需要与支付宝无线支付签约后获得。

接口说明

方法说明
uexPay.pay(inTradeNum,inSubject,inBody,inTotalFee)打开支付宝插件。
uexPay.onStatus(inStatus,inDes)uexPay.pay返回的通知函数。
uexPay.setPayInfo(inPartner,inSeller,inRsaPrivate,inRsaPublic,inNotifyUrl)动态设置支付的商家信息,密钥等。此接口为动态设置config的接口,用户可将相关帐户,密钥等信息存储于自己的服务器上,实现在交易时动态设置。调用此接口后,平台将不再读取本地文件(payConfig.txt)。此接口一次调用后,在widget退出之前会一直有效。即:调用一次setPayInfo后,第二次支付时,可以不用再set。每set一次值,会覆盖上一次set的值。
pay(inTradeNum,inSubject,inBody,inTotalFee)
参数名称描述
inTradeNum商家自己产生的无重复订单编号 ( 非空、64位字母、数字和下划线组成)
inSubject商品名称 (非空,64位字符,可包含中文字符)
inBody商品描述 (非空,1024位字符,可包含中文字符)
inTotalFee商品总价格 (非空,大于0的数字,精度不超过两位小数)
onStatus(inStatus,inDes)
参数名称描述
inStatus支付状态,uex.cInt型数据(值为2),0为支付成功、1为支付中、2为支付失败、3为支付宝插件错误(Android中)
inDes对支付状态的描述
setPayInfo(inPartner,inSeller,inRsaPrivate,inRsaPublic,inNotifyUrl)

参数名称描述
inPartner合作商户ID。用签约支付宝账号登录ms.alipay.com后,在账户信息页面获取
inSeller账户ID。用签约支付宝账号登录ms.alipay.com后,在账户信息页面获取
inRsaPrivate商户(RSA)私钥。商户自己生成
inRsaPublic支付宝(RSA)公钥用签约支付宝账号登录ms.alipay.com后,在密钥管理页面获取
inNotifyUrl商家提供的url。订单支付结束时,支付宝服务端在回调手机客户端的同时,会回调这个url,通知商家本次支付的结果。结果中包含支付结果详情和商家提供给支付宝的公钥信息,商家可用已有的私钥再进行验证此订单是否属于本商家,以保证支付的最大安全

// 本代码由寒暄提供,如有bug请和寒暄联系(QQ:457696322 Q群:7702175)
<!DOCTYPE html>
<html>
<head>
<title>AppCan API uexPay</title>
<meta charset=utf-8>
<script>
var partner = 2088501923710512;
var seller = 2088501923710512;
var rsaPrivate = MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANY6sXzRlqgmngX6m1G2BJQzsZuvAE2iXVB/e/T4CBHnvp63dQUesPZM1gyWm+wGjmYEr3QP4DiXJHSsCtUHUWbGiKeuodwUFr25LX9kDKBA/Vkol6NtTL/bkzPO48Epr5pb8jhcfFN0xUQfxcZR4p7oLcLA4sSY7H+dSAUL7NlVAgMBAAECgYEAjPpjArkKY+3F4DljLQqTSNQb9U/c6zoGHotGj5cJ+H6BOwGPyKbB3dQCqJYUVeaanxhGPiKUc6lDHGR7XGVMcxk1ckFHniGY7SGeddDs1wODyMVRXUuZleZ0I2QdhxuyK3RQzMiD9tRuSttq8wj+MKcXoYRN9bY+GOrtnQuHfAECQQD4/ytu7q9CvDCNpONUzjBXFVfAbQOAv5dWvBDyoS9aN9wicZ9EaJIcjozqUyyXqMek1/+v+ehnwr++NNo9reI1AkEA3EEwtI2d4EUkfp0gjPj29p22CgkVbHyfweVfBjuR5evaTFRJWzf9yuksogPS1JLeTqKXczW6mBdgj05iEr3+oQJBAI3Hli6rYEZKrAbrXbqbUXE0qOvb5wO3lHAB1FCjsTfY2NMQCZVFSfVSwjBnPdv5cfyONXw5e7khblba923phgUCQGO4gDy/AYPQyj0pFtu8vNPbg9f3VOPRaON43hUMU3ot1qBIaQ4Lw7Ri7fpMkN/9vvkLVFatNNY3f1hivLSPoQECQQDEaP8VLsUVd3QdoDruH4oIpqVbQ8xj3aEZKiA01w8QqLkElPG14+7EFA+gDKWjTghOduomnXDleVX34tVlAuCn;var rsaPublic = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq8+Q1EiRE9Chp3RtNo4Iftx/i1nWyxecEfDRZK+v3UsxZ3Zdo1kbMXH3fAcNgNlfNhlE3vGb/AWdehp4bBqweQiyuhxBLBRnDGNd6iuqksEJfgxq/iBgGSQKiGcM8XzGGHU7Tbe/HL8s532hCNOAUwvJYCXSodWwaMSOsWBy/nwIDAQAB;var notifyUrl = null;
function setInfo(){
    uexPay.setPayInfo(partner, seller, rsaPrivate, rsaPublic, notifyUrl);
}
function pay(){
    setInfo();
    var subject = document.getElementById(subject).value;
    var body = document.getElementById(bodyy).value;
    var fee = document.getElementById(fee).value;
    var num = document.getElementById(num).value;
    uexPay.pay(num, subject, body, fee);
}
function paySuccess(status, des){
    document.getElementById('adre').innerHTML = des;
}
function payFailed(opCode, errorCode, des){
    document.getElementById('adre').innerHTML = des;
}

window.uexOnload = function(){
    uexPay.onStatus = paySuccess;
    uexWidgetOne.cbError = payFailed;
}
</script>
</head>
<body>
    <div>支付接口</div>
    <div>
        <div>
            <span>支付接口测试:</span>
            <span style=color:red;>注意:因公司暂未与支付宝无线支付服务签约,没有获得相关支付公钥,所以此功能默认定向支付宝公司开发测试帐户,所花费的钱款为真实花费,无法退回,<br><br>且登录支付宝后,支付宝将绑定手机,请谨慎测试!!<br><br>
            代码中已经写死了,每笔交易额为0.01元。 ^_^<br><br>
            此功能需安装支付宝插件,没有安装支付宝插件的同事请自行安装,此版本(0.70版)默认捆绑安装一个支付宝插件。
            </span>
            <span>商品信息:</span>
            <div id=payy>
            商品名称:珍珠项链。<br>
            商品描述:韩版,韩国流行饰品小太阳花小巧雏菊 珍珠项链2M15。<br>
            价格:一口价    0.01元。<br>
            商品编号:xxxxxxxxxxxxx (调试用,客户端随机生成).
            </div>
            <input type=hidden id=subject value=珍珠项链>
            <input type=hidden id=bodyy value=韩版,韩国流行饰品小太阳花小巧雏菊 珍珠项链2M15。>
            <input type=hidden id=fee value=0.01>
            <input type=hidden id=num value=200155555>
            <br>
            <input type=button value=点击购买 onclick=pay()>
            <span>支付结果:</span>
            <div id=adre></div>
        </div>
    </div>
</body>
</html>