iOS SDK微信支付填坑!(跳转微信支付,只有确定按钮)

这两天接微信支付的SDK,遇到了一个天坑,微信文档里面不写清楚,demo里面也没有,参数少了一个无法支付啊有没有!有没有!有没有!

最后调试成功,得知真相的我眼泪掉下来。。。

先让我们看看是什么情况:

--------------------------------------------------------我是分割线--------------------------------------------------------

预支付订单那块就不说了,基本上都没问题,服务器会返回一个prepay_id预支付订单号,拿到这个订单号在接下来的支付操作中会用到。

根据微信的文档还有demo显示,支付的时候需要这几个参数应该就够了

/** 商家向财付通申请的商家id */
@property (nonatomic, retain) NSString *partnerId;
/** 预支付订单 */
@property (nonatomic, retain) NSString *prepayId;
/** 随机串,防重发 */
@property (nonatomic, retain) NSString *nonceStr;
/** 时间戳,防重发 */
@property (nonatomic, assign) UInt32 timeStamp;
/** 商家根据财付通文档填写的数据和签名 */
@property (nonatomic, retain) NSString *package;
/** 商家根据微信开放平台文档对数据做的签名 */
@property (nonatomic, retain) NSString *sign;

看着没什么问题吧,把前面几个参数用字典序拼接,然后用key加密就生成sign了是吧,是不是都这么认为的?

no!图样图森破!!!

如果你按照这样签名去支付的话,会看到这样的界面

不明真相的你一定会一脸懵比

谁曾想,微信这个大坑X!要签名的参数还差一个appid!把这个参数拼接签名之后,再次跳转微信支付就会有相应的订单信息了。

时间: 2024-11-07 15:07:46

iOS SDK微信支付填坑!(跳转微信支付,只有确定按钮)的相关文章

支付开发填坑记之微信支付

微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付.其中,APP和网站上最常用的就是APP支付和公众号支付.前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付). 微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付.其中,APP和网站上最常用的就是APP支付和公众号支付.前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付).

手机浏览器跳转微信指定页面 及 跳转微信公众号一键关注

这篇文章主要介绍了如何在手机浏览器wap网页中点击链接跳转到微信界面,需要的朋友可以参考下 先说第一种,最简单的唤起微信协议,weixin://主流浏览器都支持,app加个浏览器功能就可以使用weixin:// .用途不大,只能打开微信,不能携带任何参数. 方法二:weixin://profile/XXXXXXXXX 此链接接口微信已经停用. 目前仅仅等同于weixin://,所以不要浪费精力学习了. 方法三:weixin://dl/business/?ticket= 如招商银行的一键关注. 此

你所误解的微信公众号开发、以及微信公众号开发遇到的问题及详解

前言:有一星期没跟新博客了,最近太忙.项目赶进度就没把时间花在博客上:今天来说说所谓的微信公众号开发和填坑记录: 微信公众号:运行在微信终端的应用 (对于开发者来说比较爽的你只需考虑兼容微信浏览器,因为它是在微信浏览器环境下运行的) 微信公众号开发分为两部分: 一.传统开发(前后端分离) 推荐  页面量大的时候优点就尤其突出了 1. 微信首页 (即首页菜单.跳转链接.扫二维码.消息推送回复等功能) 不要慌  这些百分之90%都是后天来配置的,他们调用下微信公众平台提供的接口就ok了:为什么是后台

支付宝和微信支付的各种填坑

填坑 支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import 系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 1 2 解决办法: 这是base64.h中没有加入#import  系

10分钟搞定支付宝和微信支付 的 各种填坑

填坑   支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import  系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 问题2.截图告知你什么问题 解决办法: 这个问题可以同上的,心情

10分钟搞定支付宝和微信支付的各种填坑

支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路. 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import 系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 问题2.截图告知你什么问题 解决办法: 这个问题可以同上的,心情好,截图再

android调用微信支付,填坑

关于android调用微信支付,在网上基本是骂声一片.在于官方文档,对于许多问题都没有描述.我罗列一下我遇到的麻烦,供大家参考 首先想要获取微信支付功能,必须在微信开放平台,申请app 支付能力,根据官方文档,按照要求,完成后 官方会提供 appid .appsercert两个重要参数.以及自己设置的应用签名 一:官方文档 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1 根据官方文档,app需要先调用预支付接口获得 p

网站添加微信支付功能(小白填坑)

本周的工作安排就是在网站添加支付功能,包括支付宝.微信.财付通等,今天这篇文章先说一下微信支付吧,支付宝的太容易了基本看一下都会了 1.首先准备工作,开通了支付功能的账号,具体怎么开通的我也不熟悉因为我做的时候都是使用开通好的账号(目前微信支付好像只支持商家不支持个人吧?) 2.按照我的性格当然是百度一下啦,但是微信支付的文档说明事例实在是太坑了,完全不是我这种小白可以一下看懂的,在这夸奖一下支付宝,支付宝的事例文档做的太好了基本做的时候没什么坑 准备工作结束开工: 我的开发环境是java,所以

填坑:微信网页支付的开发流程及填坑技巧

小程序作为微信之父张小龙钦点,并多次公开为之宣传造势的产品,在微信之后是仅有的一次.正因为这种特殊的优待,在小程序上线后,据说内测资格一度从100w被炒到300w,先不论是真是假,单是张小龙团队和市场对小程序的期待,就足以引起我们的重视,做为一个开发人员,也非常有必要学习和了解小程序的开发原理及流程.如果你已经准备要做小程序开发,那么这篇文章就来的很及时.如果你的业务还不需要涉足小程序,你也可以通过本文对小程序的开发做一个基本的了解,以备不时之需. 本文会从小程序前端开发,小程序服务端开发及小程