本文讲解  uni-app如何调用支付宝进行支付,服务端为 .net编写。

客户端:uni-app 编写  1、根据服务端生成的订单信息发起支付。

服务端:.net 编写 1、生成订单信息。2、接收支付宝异步反馈支付信息。

先说重点  uni-app 不支持支付宝沙箱测试!不支持支付宝沙箱测试!!不支持支付宝沙箱测试!!!(重要的事情说三遍,为此我浪费了半天。上线应用没签约支付又浪费了半天)。

客户端很简单 一句代码搞定:  参考官方文档:https://uniapp.dcloud.io/api/plugins/payment?id=requestpayment (5+App 支付)

AliPay: function() {
uni.requestPayment({
provider: 'alipay',
orderInfo:'服务端生成的支付订单信息',
success: function(res) {
console.log('success:' + JSON.stringify(res));
},
fail: function(err) {
console.log('fail:' + JSON.stringify(err));
}
});
},

服务端编写代码之前,需要去支付宝进行app应用创建。详细流程:https://docs.open.alipay.com/204/105297/

注 :创建后的应用是不能用于真实环境测试的,必须申请应用上线(审核比较容易)。并且签约支付功能,签约!签约!!签约!!!(没签约的可以用沙箱环境测试生成的订单信息)

三个密钥: 商户应用私钥(自己保存生成订单用)、商户应用公钥(上传到支付宝应用,用来生成支付宝公钥)、支付宝公钥(根据商户应用公钥自动生成,生成订单用到)。

创建应用后

  1、设置密钥 工具下载地址:https://docs.open.alipay.com/291/105971  私钥保存到本地,公钥填写到支付宝应用,得到支付宝公钥。

从上面的图 我们可以知道,我们只需要的两个东西:1、APPID、2、支付宝公钥(根据用户上传的公钥自动生成)(网关是固定的,真实环境:https://openapi.alipay.com/gateway.do。沙箱环境:https://openapi.alipaydev.com/gateway.do。 有区别!)。

做完上面,我们就可以下载对应的SDK了。下载地址:https://docs.open.alipay.com/54/106370/。 上面有详细的使用说明。多看几遍。

我用的是 .net,我新建了一个WebService项目,把上面的SDK 应用到项目就好了。

代码:

private string RSA2 = "RSA2";
private string CHARSET = "utf-8"; private string URL = "https://openapi.alipaydev.com/gateway.do"; // 这个是沙箱环境的网关,真实环境需要改一下
private string APPID = "";
private string APP_PRIVATE_KEY = "私钥字符串拷过来";
private string ALIPAY_PUBLIC_KEY = "z支付宝公钥拷贝过来"; [WebMethod(Description = "获取订单信息")]
public string getAliPayOrderInfo()
{
IAopClient client = new DefaultAopClient(URL, APPID, APP_PRIVATE_KEY, "json", "1.0", RSA2, ALIPAY_PUBLIC_KEY, CHARSET, false); AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = "我是测试数据";
model.Subject = "App支付测试DoNet";
model.TotalAmount = "0.01";
model.ProductCode = "QUICK_MSECURITY_PAY";
model.OutTradeNo = "20170216555555555555555501";
model.TimeoutExpress = "30m"; AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.SetBizModel(model); AlipayTradeAppPayResponse response = client.SdkExecute(request);
return response.Body; }

运行结果如下图,直接拷贝到客户端的代码里就可以了。

正式上线的App 并且已经签约了支付功能,可以运行。如果是沙箱环境,则会报错  “[payment支付宝:62009]未知错误”。

支付宝提供了调试工具用来验证上面的订单信息。工具下载地址:https://openclub.alipay.com/read.php?tid=7695

选择沙箱环境,把上面生成的订单信息考本到文本框,点击“点我去支付”,可以唤起支付页面而不报错,就说明在服务端的请求参数没有问题。

uni-app 调用支付宝支付的更多相关文章

  1. app调用支付宝支付 笔记

    1.提交各种申请 2.通过后进入支付宝开放平台  --> 管理中心 -->创建应用  --> 填写相关信息 提交等待审核通过(1,2天)   3.下载集成包(https://doc. ...

  2. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  3. iOS app集成支付宝支付流程及后台php订单签名处理

    iOS app集成支付宝支付流程 1: 开通支付宝商户 由公司去支付宝 https://b.alipay.com/order/serviceIndex.htm 签约支付宝开通支付宝商家: 2:商户支付 ...

  4. python调用支付宝支付接口

    python调用支付宝支付接口详细示例—附带Django demo代码   项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公 ...

  5. PHP实现app唤起支付宝支付代码

    本文主要和大家分享PHP实现app唤起支付宝支付代码,希望能帮助到大家. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  6. web页面调用支付宝支付

    web页面调用支付宝支付 此文章是前端单独模拟完成支付,若在线上环境则需要后台配合产生签名等参数 在蚂蚁金服开放平台申请沙箱环境 将沙箱环境中的密钥.应用网关.回调地址补全,生成密钥的方法在此 配置好 ...

  7. android app 集成 支付宝支付 微信支付

    项目中部分功能点需要用到支付功能,移动端主要集成支付宝支付和微信支付 支付宝sdk以及demo下载地址:https://doc.open.alipay.com/doc2/detail.htm?spm= ...

  8. PHP APP端支付宝支付

    应业务需求,做了支付宝支付和微信支付,今天分享一下手机端app支付宝支付对接流程,实际开发过程是前后端分离,前端调用后端API接口,实现功能返回数据,我所用的跨挤啊为TP5,大致可以分为四步: 1.在 ...

  9. app微信支付宝支付后台的插件模式+回调通过spring广播处理后续业务(已亲测可用)

    写在前面的话:每当我们做一个项目,基本上都会涉及到支付的业务,最常用的莫过于微信和支付宝的支付了,项目有bug,有问题,都不叫问题,可一旦钱出了问题,那就是大问题了,所以在支付业务上我们必须慎之又慎! ...

随机推荐

  1. 百战程序员——JSP

    JSP全称是什么?它相比servlet有什么优势?有什么劣势? JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计. JSP技术使用Jav ...

  2. python学习笔记(1)python中的注释和安装python

    注释 目标 注释的作用 单行注释 多行注释 01注释的作用 在程序中对代码的标注说明,增强代码的可读性 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用 为 ...

  3. pycharm+pydesigner+pyqt5 如何添加图片资源

    pydesigner 上添加资源比较容易: 步骤一用于编辑,步骤二步创建,步骤三创建文件新的qrc: 步骤一:新建一个Prefix,步骤二给prefix添加资源文件.至此,资源文件添加完成 采用 Py ...

  4. meven仓库设置局域网私服

    找到设置文件 在设置文件中配置私服地址

  5. 软件开发者路线图梗概&书摘chapter2

    空杯心态:放下对技能水平的自鸣得意 1.入门语言:学习一门语言,从实际问题入手→形成反馈回路 构建学习沙箱 利用实际代码,进行学习测试 学习一门语言:与精通该语言的专家一起工作,即找人指导 阅读他人的 ...

  6. Temporary failure in name resolutionf的解决方法

    Linux有时还蛮烦的这个不能用那个不能用,只能多折腾了. 今天又是,ping z.cn的时候直接报错 Temporary failure in name resolutionf 这个一般都知道是DN ...

  7. python3 多线程爆破ftp、mysql、ssh

    当然 也支持ip 为 127.0.0.1-255 这样的 字典放到 dict 目录里 链接: https://pan.baidu.com/s/1htchOyN5hK9nmZlWfTiFzA 密码: v ...

  8. Linux----------mysql基础

    目录 一.数据库介绍 1.1 数据库的优点 1.2 数据库的基本功能 1.3数据库的类型 1.4 关系型数据的组成 1.5 关系型数据库的常用组件 1.6 SQL语句 1.7 mysql命令使用 1. ...

  9. Centos7使用yum快速安装ansible

    ansible功能简介:ansible可以实现批量系统配置.批量软件部署.批量文件拷贝.批量运行命令等功能.主要基于ssh实现连接各个被控制端 yum默认安装的ansible,常用的配置文件有两个,一 ...

  10. 事件冒泡(event bubbling)与事件捕捉(event capturing)

    事件捕捉: 单击<div>元素就会以下列顺序触发click 事件. Document => Element html => Element body => Element ...