木记
木记
  • 发布:2015-04-10 11:46
  • 更新:2025-01-09 19:54
  • 阅读:20686

C#配置支付宝信息

分类:Native.js

参考支付宝官方的demo配置的方法,亲测可行.

        public object GetPayInfo(string _amount)//_amount:付款金额  
        {  
            string orderInfo = OrderInfo(_amount);  
            // 对订单做RSA 签名  
            string sign = RSAFromPkcs8.sign(orderInfo, Config.Private_key, Config.Input_charset); //支付宝提供的Config.cs  
            //仅需对sign做URL编码  
            sign = HttpUtility.UrlEncode(sign, Encoding.UTF8);  
            string payInfo = orderInfo + "&sign=\"" + sign + "\"&"  
                + getSignType();  
            return payInfo;  
        }  
        public string OrderInfo(string price)  
        {              
            Dictionary<string, string> payinfo = new Dictionary<string, string>();  
            payinfo.Add("service", "\"mobile.securitypay.pay\"");  
            payinfo.Add("partner", "\"" + Config.Partner + "\"");  
            payinfo.Add("seller_id", "\"" + Config.SELLER + "\"");  
            payinfo.Add("out_trade_no", "\"" + DateTime.Now.ToString("yyyyMMddHHmmssfff")+ "\"");  
            payinfo.Add("subject", "\"****\"");  
            payinfo.Add("body", "\"*****\"");  
            payinfo.Add("total_fee", "\"" + price.ToString() + "\"");  
            payinfo.Add("notify_url", "\"***********"");  
            payinfo.Add("payment_type", "\"1\"");  
            payinfo.Add("_input_charset", "\"UTF-8\"");  
            payinfo.Add("it_b_pay", "\"30m\"");              
            return Core.CreateLinkString(payinfo);  
        }  
         public String getSignType()  
        {  
            return "sign_type=\"RSA\"";  
        }

HB中的方法

                   function topay(rate) {  
                if (w) {  
                    return;  
                }  
                //检查是否请求订单中  
                w = plus.nativeUI.showWaiting();  
                mui.getJSON("http://************/api/Pay", {  
                    _amount: rate  
                }, function(data) {  
                    w.close();  
                    w = null;  
                    if (data) {  
                        plus.payment.request(pays["alipay"], data, function(result) {                             
                                        plus.nativeUI.alert("支付成功:感谢您的支持。", function() {  
                                            mui.back();  
                                        }, "****");                                   
                        }, function(error) {  
                            if (error.code == 62001) {  
                                mui.toast("您放弃支付.");  
                                mui.back();  
                            } else {  
                                plus.nativeUI.alert("支付失败", null, "请前往会员中心再次对该订单尝试支付,支付失败:" + error.code);  
                            }  
                        });  
                    }  
                });  
            }
3 关注 分享
DCloud_heavensoft Trust gmmx133

要回复文章请先登录注册

书晨

书晨

回复 书晨 :
即时到帐DEMO 切记一定要下载,楼主的代码都在这个demo里面了
2017-04-21 16:40
书晨

书晨

回复 书晨 :
若要使用上面的代码,需要到官网上继续下载东西,请看下面的内容,一定要细看~!
下了无数次SDK。。。
SDK地址(即时到账):https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1#s2
其他产品功能中即时到账的DEMO,下载下来放到项目中。
主要是app_code中的AlipayConfig.cs,配置好商户ID、公钥秘钥、回调地址可以不写、签名方式 RSA。
编码格式根据放进去的格式填,我的是utf-8。
公钥秘钥怎么生成:https://help.alipay.com/support/help_detail.htm?help_id=397433&keyword=%C3%DC%D4%BF
照着上面的网站操作就可以了
注意:.NET可以不用pkcs8 加密,Java才需要。
发送部分:
price是金额。
2017-04-21 16:39
书晨

书晨

看了这个,我直接就是掉进一个巨坑,这大哥这点代码,屁用没有
2017-04-21 16:38
安之若素

安之若素

求详细的DEMO,万分感谢,554099169@qq.com
2017-03-06 10:36
李玖军

李玖军

楼主能给一个完整的demo吗? lijiuzun01358@126.com
2017-01-06 19:19
1***@qq.com

1***@qq.com

要嘛你就别写,要嘛写清楚,特么搞个破东西还直接放在文档里面,dcloud也真贼搞笑了
2016-12-28 23:56
咖啡joy

咖啡joy

要是真的想让人明白,就弄个正式点的代码不行么,搞这个还不如不搞
2016-09-23 15:25
h小明

h小明

问题下这个支付宝同步返回页面return_ur怎么配置啊?需不要配置?还是plus.payment.request(pays["alipay"], data, function(result) 函数直接返回成功处理
2016-07-16 15:30
lizylegend

lizylegend

为什么每次支付都返回62001.。。。但是我没取消啊= =
2016-04-11 15:59
阿飞哥

阿飞哥

看着这玩意儿,一如既往的蛋疼......
2015-11-16 17:56