微信支付sign生成方法

NSMutableDictionary *signParams = [NSMutableDictionary dictionary];

[signParams setObject: req.openID        forKey:@"appid"];

[signParams setObject: req.nonceStr    forKey:@"noncestr"];

[signParams setObject: req.package      forKey:@"package"];

[signParams setObject: req.partnerId        forKey:@"partnerid"];

[signParams setObject: @(req.timeStamp)    forKey:@"timestamp"];

[signParams setObject: req.prepayId      forKey:@"prepayid"];

NSMutableString *contentString  =[NSMutableString string];

NSArray *keys = [signParams allKeys];

//按字母顺序排序

NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

return [obj1 compare:obj2 options:NSNumericSearch];

}];

//拼接字符串

for (NSString *categoryId in sortedArray) {

if (   ![[dict objectForKey:categoryId] isEqualToString:@""]

&& ![categoryId isEqualToString:@"sign"]

&& ![categoryId isEqualToString:@"key"]

)

{

[contentString appendFormat:@"%@=%@&", categoryId, [signParams objectForKey:categoryId]];

}

}

//添加key字段

[contentString appendFormat:@"key=%@", @"商户api密钥"];

req.sign                = [contentString MD5];

时间: 2024-08-06 20:04:38

微信支付sign生成方法的相关文章

【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】

方法1:通过get()方法获取属性值 package com.sxd.test.controller; public class FirstCa{ private Integer num; private String name; private Boolean flag; public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } public String getNam

如何利用x.elong.com唤起微信ticket规则生成方法跳转任意链接网址

function toweixin(){ if (!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { if (/ baiduboxapp/i.test(navigator.userAgent)) { window.location.replace("bdbox://utils?action=sendIntent&minver=7.4&params=%7B%22intent%22%3A%22<?php echo $t

微信公众号中的支付宝支付与微信支付

一般,在微信公众号中的商城都是需要支持微信支付和支付宝支付的,当然,较大的公司对于鹅厂和阿里的站队就不说了,所以这里简单记录一下支付宝支付和微信支付的主要流程.说是简单介绍,这是因为确实不难,因为前端在这方面,包括微信授权登陆这一块需要做的都不是很多,而主要的工作量都在后端部分. 支付宝支付 无论是支付宝支付还是微信支付,最开始的步骤当然是将商品列表.商家相关信息.用户remark.运费.总价等等支付需要的信息通过post请求向后端传递,这里介绍支付宝支付,所以假设用户选择的是支付宝支付,那么后

微信支付的那些坑!!!

微信支付的那些坑! 开通和审核 微信支付和支付宝商家平台一样,都是要审核资质的,支付宝个人认证可以使用担保支付,虽然需要用户确认收货之后才能收到资金,但是好歹也是能用的.微信直接不让个人使用支付.只有企业以上级别的服务号才能申请. 开通&认证 支付宝注册企业账号,进行企业认证,我总共就花了10分钟,包括公司资质审核,打款到公账确认公账等步骤.效率高到简直无法想象. 微信支付需要已经认证过的服务号才能开通支付.提交完资质,等待审核,花了5个工作日的时间才告诉我资质审核过了,对,没错,是5个工作日,

一次痛苦又甜蜜的微信支付踩坑之旅

凡是和钱打交道的事,没有一样是容易的.这是我第一次接触微信支付,发现网上还是有很多同学在求助,XXX了怎么办?XXX是什么情况?为了帮助更多的小伙伴脱离"苦海",我决定写下这次的踩坑之旅,给更多的人帮助. 介绍 微信支付方式分为刷卡支付.公众号支付.扫码支付.APP支付.H5支付.小程序支付. 先从应用场景来各自说一说,这样,能够最快的判断出应该选择哪一种支付. 刷卡支付:使用扫描设备(扫描枪)多见于超市.便利店使用 公众号支付:嵌入公众号的H5页面 扫码支付:用户打开"微信

微信支付:回调处理

1.封装工具类: 包括的方法实现: xml转Map,Map转xml,生成微信支付签名sign,签名的校验,把Map转为SortMap(有序) package net.xdclass.xdvideo.controller; import net.xdclass.xdvideo.config.WeChatConfig; import net.xdclass.xdvideo.domain.JsonData; import net.xdclass.xdvideo.domain.User; import

微信支付JsAPI

https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip 下载获取微信支付demo压缩包 打开压缩包,并将其中 WxpayAPI_php_v3\example下的 jsapi.php log.php WxPay.JsApiPay.php WxPay.MicroPay.php WxPay.NativePay.php 解压缩到根目录 tellingtent/ 打开 WxPay.JsApiPay.php WxPay.Micr

基于PHP的微信支付教程

微信支付作为各大移动支付方式之一,本课程只要向大家介绍并使用微信支付的常用功能,进而集合到已有的项目中去,希望各位能够快速上手并掌握实战"干货". 出处至:汇智网  hubwiz.com 准备工作 关于微信支付 1. 生活中的微信支付 ??目前我们日常生活中接触得比较多的线上电子支付方式主要有两种,一种是支付宝,另一种就是微信支付了,微信支付是集成在微信客户端的支付功能,所谓微信客户端,主要是微信的移动应用,例如安卓(Android)微信APP.IOS微信APP,用户可以通过手机的微信

微信支付 解析失败

微信支付一不留神就报错,因iOS端和安卓端不一样,特意mark一个特别容易忽略的字段:package = @"Sign=WXpay". 主要表现为在微信支付返回的方法中:- (void) onResp:(BaseResp *)resp 出现这样的结果:错误,retcode = -2, retstr = (null) 而客户端出现弹窗"取消支付"字样,即为这一字段填写不正确,注意:iOS端该字段只能这样填写. p.p1 { margin: 0.0px 0.0px 0.