帖子
帖子
用户
博客
课程
123
返回列表 发新帖
1
帖子
0
勋章
3993
Y币
本帖最后由 munyi 于 2017-5-18 16:44 编辑
jemin 发表于 2017-5-18 16:37
我承认我菜鸟,但起码的编程思路是有的,不然我现在开发的这个App里支付宝支付和微信第三方登录我不可能 ...

function wxPay() {
                        var wxPay = api.require('wxPay');
                        wxPay.config(function(ret, err) {
                                if (ret.status) {
                                        alert('配置商户支付参数成功');
                                        var wxPay = api.require('wxPay');
                                        wxPay.pay({
                                                description : 'XXXXX',
                                                totalFee : '',
                                                tradeNo : ''
                                        }, function(ret, err) {
                                                if (ret.status) {
                                                        alert(ret.result);
                                                } else {
                                                        alert(err.code);
                                                }
                                        });
                                } else {
                                        alert(err.code);
                                }
                        });
                }
这个是我以前调的,只要KEY.XML配置正确 ,代码都提交云端,签名也正确,云编译测试,如果tradeNo 也是错了,也会返回-1
11
帖子
0
勋章
16
Y币
munyi 发表于 2017-5-18 16:43
function wxPay() {
                        var wxPay = api.require('wxPay');
                       ...

能不能说下这个tradeNo怎么生成,支付宝那个我是用的系统时间+随机号自己编的,我看了微信开放平台的官方文档,也是说这个tradeNo要求32位以内,不能重复,但是我app里不管怎么弄始终返回-1
1
帖子
0
勋章
3993
Y币
jemin 发表于 2017-5-18 16:49
能不能说下这个tradeNo怎么生成,支付宝那个我是用的系统时间+随机号自己编的,我看了微信开放平台的官方 ...

这个是还是你自己生成的,生成方式跟你的支付宝那边一样就行了,必须是唯一,32位以内
11
帖子
0
勋章
16
Y币
munyi 发表于 2017-5-18 16:53
这个是还是你自己生成的,生成方式跟你的支付宝那边一样就行了,必须是唯一,32位以内 ...

只返回一个 -1 太不友好了,让人无从查起,当然这可能也不是apicloud的问题,我看了微信官方的文档,也是只返回-1,唉。
1
帖子
0
勋章
3993
Y币
jemin 发表于 2017-5-18 17:01
只返回一个 -1 太不友好了,让人无从查起,当然这可能也不是apicloud的问题,我看了微信官方的文档,也是 ...

你发个二维码,我微信支付下,支付金额为1的,也就是0.01元
11
帖子
0
勋章
16
Y币
本帖最后由 jemin 于 2017-5-18 17:11 编辑

调出来了,key.xml文件中的<security> 漏了个 /  好蛋疼  

<security>
<item name="wxPay_appId" value="xxx"/>
  <item name="wxPay_mchId" value="xxx"/>
  <item name="wxPay_partnerKey" value="xxx"/>
  <item name="wxPay_notifyUrl" value="www.apicloud.com"/>
<security>

衷心感谢各位回复的!
我用的方案二,方案一还是不懂怎么用。
11
帖子
0
勋章
16
Y币
munyi 发表于 2017-5-18 17:04
你发个二维码,我微信支付下,支付金额为1的,也就是0.01元

谢谢了,兄弟!
51
帖子
0
勋章
1095
Y币
jemin 发表于 2017-5-18 17:11
谢谢了,兄弟!

        wxPay.config({
                                                        apiKey : appId,
                                                        mchId : mchId,
                                                        partnerKey : partnerKey,
                                                        notifyUrl : notifyUrl
                                                }, function(ret, err) {

                                                        if (ret.status) {
                                                                wxPay.pay({
                                                                        description : description,
                                                                        attach : attach,
                                                                        totalFee : totalFee,
                                                                        tradeNo : tradeNo,
                                                                        timeStart : timeStart
                                                                }, function(ret, err) {
                                                                        if (ret.status) {
                                                                                callback(rets, err)
                                                                        } else {
                                                                                if (err.code == "-2") {
                                                                                        sysAlert("用户取消支付!");
                                                                                } else {
                                                                                        sysAlert("请先打开微信,然后支付");
                                                                                }
                                                                        }
                                                                })
                                                        } else {
                                                                sysAlert(err.msg);
                                                        }
                                                });
51
帖子
0
勋章
1095
Y币
jemin 发表于 2017-5-18 17:11
谢谢了,兄弟!

后台计算钱的 时候 是要乘以100的 微信          params.put("total_fee", String.valueOf((int) (Float
                                                .parseFloat(total_fee) * 100)));
123
您需要登录后才可以回帖 登录

本版积分规则