本文讲解  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. JavaScript新手入门 贪吃蛇

    从小就在玩贪吃蛇,但是知道今天自己做了一遍才知道原理的具体的实现步骤. 刚进入界面时显示开始游戏(不重要,本人比较喜欢吹毛求疵) 中间黑色部分为游戏的主要展示部分 主要步骤及源码: body中代码,红 ...

  2. 利用Python代码编写计算器小程序

    import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...

  3. linux自动备份lampp的日志

    要求是:每天23:59自动备份lampp的日志/opt/lampp/logs/access_log 放到这个目录下/tmp/bak 命名格式:access_log.日期 1.新建shell脚本#vi ...

  4. qt+opencv LNK4272:library machine type 'x64' conflicts with target mathine type 'x86'

    运行时报错如上图所示,原因是你使用的opencv库是64位的,qt里面使用的编译器MSVC是32位的,解决方法如下: 将构建套件修改位64bit:

  5. mac下 改变了ssh连接的端口 git怎么修改

    1. 情况是这样的,为了安全起见,我们的服务器ssh连接端口改为了33 sudo vi /etc/ssh/ssh_config port  33 2. 因为git是基于ssh发送数据的,并且git服务 ...

  6. kotlin 编译 运行 hello world

    kotlin 编译器下载地址:https://github.com/JetBrains/kotlin/releases/tag/v1.3.31 解压:kotlin-compiler-1.3.31.zi ...

  7. asp.net core webapi处理Post请求中的request payload

    request payload的Content-Type实际上是text/plain的,如果请求的 Content-Type 为 application/json,这将导致415 Unsupporte ...

  8. rust

    books--------------Rust 中文教程 RustPrimer http://wiki.jikexueyuan.com/project/rust-primer/any/any.html ...

  9. Spring Boot Admin 的使用

    Spring Boot 版本: 1.5.20 一.Spring Boot Admin Server 1.在pom.xml中增加 <dependency> <groupId>or ...

  10. 把一个对象转成map对象

    import java.lang.reflect.Field;import java.util.HashMap; public class Util { public static HashMap&l ...