有谁能用微信支付我100元?保证会还的!真的现在急需100元!!!!

更多公众号:gh_c11互联网+移动支付服务商,提供线下收单支付和手机支付的全面解决方案,O2O线上线下完美结合。帮助企业线上线下零售与移动互联网结合,创新线上线下互动营销,服务体验,交易方案,打造智慧门店,实现商业模式升级。最新文章相关推荐搜狗:感谢您阅读三月,你还可以用微信支付省这么多钱,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:我的天呐?,怎么会有这么详细的微信支付说明 - 简书
下载简书移动应用
写了5285字,被96人关注,获得了164个喜欢
我的天呐?,怎么会有这么详细的微信支付说明
公司要求项目添加上微信支付和支付宝支付在这里我将自己的心得以及自己总结的步骤总结在这里,希望让读者少一点入坑。,那么我们现在从最难的骨头啃起来,一步步教大家完成微信支付,关于申请微信支付的东西我就不再这里累赘,很多帖子都有(其实是因为公司这部分我没有参与,嘿嘿)。开始我们的微信支付的旅行吧。前提条件,让你的 APP有支付的本领 ,申请到微信支付相关以后,下面这些东西对我们很重要。
前提条件:
//APPID 一般以wx开头
static NSString *const ZQAppID = @"APPID";
//appsecret
static NSString *const ZQAppSecret = @"appsecret";
//商户号,填写商户对应参数
static NSString *const ZQMchID = @"商户号";
//商户API密钥,填写相应参数
static NSString *const ZQPartnerID = @"商户API密钥";
// 预支付请求路径固定可以不改变
static NSString *const ZQPrePayURL =
@"https://api.mch./pay/unifiedorder";
// // 支付回调页面(异步)
(https://api.mch./pay/unifiedorder)(异步处理支付调用返回数据)
static NSString *const ZQPayNotifyURL = @"支付回调页面";
微信支付的单位为分!!!整数类型才可以(int)
支付要保证安全性,就要使用加密。微信当然也是这样,微信为了防止中间有人加入窃取信息或者改变价格。有自己的加密方式——生成预支付Id,我们通过封装数据形成XML格式(中间加密)以字符串类型传给微信,获取预支付Id。紧接着,获取以后通过预支付等信息再次加密。APP将参数传给微信,付款成功!回调信息说明支付情况。(关于加密具体怎么实现我会在下面详细说明)。
步骤以及代码
接下来说说主要的步骤吧(比比叨这么久终于说正事了,请不要打我么么哒~)
H92X9S)M$J0XZQ@K13C0GVS.jpg
1.在做微信支付以前导入
libc++.tbd
libsqlite3.0.tbd
SystemConfiguration.framework
CoreTelephony.framework
Security.framework
2.在AppDelegate 的导入头文件 #import "WXApi.h" 挂上代理 WXApiDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//这里是你自己写的一些其他代码 实例化window 设置根视图云云
[WXApi registerApp:@"APPID" withDescription:@"应用描述"];
//支付回调
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
[WXApi handleOpenURL:url delegate:self];
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:self];
#pragma mark 微信回调的代理方法
- (void)onResp:(BaseResp *)resp {
if ([resp isKindOfClass:[PayResp class]]) {
PayResp *response = (PayResp *)
switch (response.errCode) {
case WXSuccess:
NSLog(@"suceess");
NSLog(@"failed");
如果集成里支付宝以及微信支付等 ,走的回调方法是相同的 ,我们是通过 回调中字符串sourceApplication 进行判断的 例如支付宝支付 为com.alipay.iphoneclient 微信支付为 com.tencent.xin
3.在targets的info中添加 urltypes添加一个在 identifier自己起一个名称(最好软件英文名字) 在 URL schemes 中写下APPID
E618D85B-4F5C-480B-96DA-6F4E9FE548A9.png
4.触发支付 触发支付,就要对自己的订单号价格等进行加密 在这里就可以分成两种加密 ,一种是在APP端进行加密,第二种是在服务端进行加密。一般使用的在服务端加密比较安全。一个个进行说明。 4.1 服务端进行加密服务端加密我们不需要知道具体加密怎么进行的。(在底下我会给你说清楚的啦~)我们只是需要将所需参数传过去 我是用的AFN
//初始化一个请求管理器
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//接口地址
NSString *urlString = [NSString stringWithFormat:@"%@%@",@"地址头",@"其他"];
//参数字典
NSDictionary *parameters =@{@"fcode": @"账号",
@"password": @"密码",@"out_trade_no":@"订单号",@"total_fee":@"金额(分为单位)",@"attach":@"商品详情"};
//post请求
[manager POST:urlString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
//返回状态值1表示成功 0表示失败
NSString *state=responseObject[@"state"];
//预支付ID
NSString *prepayid=responseObject[@"prepayid"];
//返回文字信息成功或者失败
NSString *message=responseObject[@"message"];
//请求数据成功
if ([state intValue]==1) {
//支付信息
PayReq* req
= [[PayReq alloc] init];
req.openID
= [responseObject objectForKey:@"appid"];
req.partnerId
= [responseObject objectForKey:@"partnerid"];
//预支付ID
req.prepayId
= [responseObject objectForKey:@"prepayid"];
req.nonceStr
= [responseObject objectForKey:@"noncestr"];
//支付类型(为固定字符串:Sign=WXPay)
req.timeStamp
= [[responseObject objectForKey:@"timestamp"] intValue];
req.package
= [responseObject objectForKey:@"package"];
//预支付ID
= [responseObject objectForKey:@"sign"];
// 发起微信支付
[WXApi sendReq:req];;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
后台没有加密错误,那么会跳转到微信上进行支付。(好累啊 怎么还不结束呀)4.2 APP端进行加密 这种方法可以自己先进行测试 ,或者为了缩短工期自己进行所有工作。(看起来好像好厉害的样子啊 ) 首先,下载文章最底部封装的微信支付文件,导入到工程中。支付界面引入头文件
#import "ZQPay.h"
在触发支付的方法中调用
[ZQPay payWXWithOrderName:@"订单名字(不是订单详情)" price:@"订单价格(单位为分)" tradeNo:@"订单号" attach:@"订单详情"]
调用支付成功!结束 (我说了“结束”一定会打我的吧,原理步骤都不说 这太敷衍了
,你们来打我啊)
ZH]0RDFI%M7FXPS`(0FBEUE.jpg
(啊!!!不要打我 我说还不行吗)继续正题!传入参数我具体做了一些什么呢现在我就说说 步骤了啊(我不会就这样轻易的狗带)。4.2.1 获取预支付Id ,将所需要参数封装成字典
NSMutableDictionary *orderParas = [NSMutableDictionary dictionary];
[orderParas setObject: ZQAppID
forKey:@"appid"];
//开放平台appid
[orderParas setObject: ZQMchID
forKey:@"mch_id"];//商户号
[orderParas setObject: @"APP-001"
forKey:@"device_info"]; //支付设备号或门店号
[orderParas setObject: noncestr
forKey:@"nonce_str"];
[orderParas setObject: @"APP"
forKey:@"trade_type"];
//支付类型,固定为APP
[orderParas setObject: order_name
forKey:@"body"];
//订单描述,展示给用户
[orderParas setObject: ZQPayNotifyURL
forKey:@"notify_url"];
//支付结果异步通知
[orderParas setObject: tradeNo
forKey:@"out_trade_no"];//商户订单号
[orderParas setObject: [ZQDeVice deviceIPAdress]
forKey:@"spbill_create_ip"];//发起支付的机器ip
[orderParas setObject: order_price
forKey:@"total_fee"];
//订单金额,单位为分
[orderParas setObject:attach forKey:@"attach"];//订单详细描述
4.2.2添加sign加密串 形成XMl格式字符串
paras 为封装的字典(第一次加密)
NSString *
NSMutableString *reqPars = [NSMutableString string];
//生成xml的package
NSArray *keys = [paras allKeys];
[reqPars appendString:@"&xml&\\n"];
for (NSString *categoryId in keys) {
[reqPars appendFormat:@"&%@&%@&/%@&\\n", categoryId, [paras objectForKey:categoryId],categoryId];
//生成签名,并将签名添加到签名包中
sign = [self createMd5Sign:paras];
[reqPars appendFormat:@"&sign&%@&/sign&\\n&/xml&", sign];
return [NSString stringWithString:reqPars];
4.2.3将获取的xml串传给微信获取预支付ID 接口地址 @""
send为XML串
//发送请求post xml数据
NSData *res = [ZQUtil httpSend:ZQPrePayURL method:@"POST" data:send];
ZQXMLHelper *xml
= [[ZQXMLHelper alloc] init];
//开始解析
[xml startParse:res];
NSMutableDictionary *resParams = [xml getDict];
//判断返回
NSString *return_code = [resParams objectForKey:@"return_code"];
NSString *result_code = [resParams objectForKey:@"result_code"];
NSString *codeDes = [resParams objectForKey:@"err_code_des"];
if ( [return_code isEqualToString:@"SUCCESS"] )
//生成返回数据的签名
NSString *sign
= [self createMd5Sign:resParams];
NSString *send_sign =[resParams objectForKey:@"sign"] ;
//验证签名正确性
if( [sign isEqualToString:send_sign]){
if( [result_code isEqualToString:@"SUCCESS"]) {
//验证业务处理状态
= [resParams objectForKey:@"prepay_id"];
return_code = 0;
[dic setValue:prepayid forKey:@"prepay_id"];
[dic setValue:codeDes forKey:@"err_code_des"];
4.2.4 将获取的预支付id重新加密获取新的sign 封装成字典
//获取到prepayid后进行第二次签名
*package, *time_stamp, *nonce_
//设置支付参数
time(&now);
time_stamp
= [NSString stringWithFormat:@"%ld", now];
= [ZQUtil stringMd5WithString:time_stamp];
= @"Sign=WXPay";
// 第二次签名参数列表
NSMutableDictionary *signParas = [NSMutableDictionary dictionary];
[signParas setObject: ZQAppID
forKey:@"appid"];
[signParas setObject: nonce_str
forKey:@"noncestr"];
[signParas setObject: package
forKey:@"package"];
[signParas setObject: ZQMchID
forKey:@"partnerid"];
[signParas setObject: time_stamp
forKey:@"timestamp"];
[signParas setObject: prepayID
forKey:@"prepayid"];
// 生成签名
NSString *sign
= [self createMd5Sign:signParas];
// 添加签名
[signParas setObject: sign
forKey:@"sign"];
时间戳为新的时间戳 随机数是通过时间戳MD5加密获取的
4.2.5 至此加密结束 发起微信支付跳转到微信进行付款
PayReq* req
= [[PayReq alloc] init];
req.openID
= [paras objectForKey:@"appid"];
req.partnerId
= [paras objectForKey:@"partnerid"];
req.prepayId
= [paras objectForKey:@"prepayid"];
req.nonceStr
= [paras objectForKey:@"noncestr"];
req.timeStamp
= [[paras objectForKey:@"timestamp"] intValue];
req.package
= [paras objectForKey:@"package"];
= [paras objectForKey:@"sign"];
// 发起微信支付
[WXApi sendReq:req];
5.微信支付成功以后 要通知服务端以及APP端 服务器是通过回调地址进行操作,而对于App端通过Appdelegate中回调函数调用微信代理 步骤2中有说明。我就不再说了么么哒
(算了,我再这里在重新哔哔一次吧) //支付回调
- (BOOL)application:(UIApplication *)application
handleOpenURL:(NSURL *)url {
[WXApi handleOpenURL:url delegate:self];
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:self];
#pragma mark 微信回调的代理方法
- (void)onResp:(BaseResp *)resp {
if ([resp isKindOfClass:[PayResp class]]) {
PayResp *response = (PayResp *)
NSString *
switch (response.errCode) {
case WXSuccess:
message=@"支付成功";
[[NSNotificationCenter defaultCenter] postNotificationName:APP_PAY_SUCCESS object:nil];
case WXErrCodeCommon:
//普通错误类型
message=@"支付错误";
case WXErrCodeUserCancel:
//用户点击取消并且返回
message=@"您取消了交易";
case WXErrCodeSentFail:
//发送失败
message=@"信息发送失败";
case WXErrCodeAuthDeny:
//授权失败
message=@"授权失败";
case WXErrCodeUnsupport:
//微信不不支持
message=@"您的微信版本过低";
NSLog(@"failed");
支付成功以后通过通知告知用户支付情况5.1 支付界面接收成功通知告知用户(我这里是跳转到新的界面)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appPaySuccess) name:APP_PAY_SUCCESS object:nil];
5.2通知方法
-(void)appPaySuccess{
ZQPaySuccessVC *paySuccessVC=[[ZQPaySuccessVC alloc]init];
[self.navigationController pushViewController:paySuccessVC animated:YES];
5.3移除通知(不移除会崩溃呦)
-(void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self name:APP_PAY_SUCCESS object:nil];
6.支付完成!欢迎小伙伴们给我补充,提意见 么么哒~~~
附:宝宝好累啊 关注本宝宝吧~~
89c40b46f21fbe09f9774dff6d600c338644adc4.jpg
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
玩转简书的第一步,从这个专题开始。
想上首页热门榜么?好内容想被更多人看到么?来投稿吧!如果被拒也不要灰心哦~入选文章会进一个队...
· 129395人关注
分享 iOS 开发的知识,解决大家遇到的问题,讨论iOS开发的前沿,欢迎大家投稿~
· 25879人关注
· 6525人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:微信支付隐藏骗局,有很多人被骗!大家一定要注意!_连云港生活通-爱微帮
&& &&& 微信支付隐藏骗局,有很多人被骗!大家一定…
   很多时候,出去买东西使用微信很方便,扫一扫付款码就行了。国庆长假里,市民用微信支付会更频繁,不过要当心这里面潜藏的骗局。  9月30日,扬州市公安局汶河派出所根据近期接报的案例梳理出三种利用微信实施诈骗的案例,并特别提醒市民,如今不少人将银行卡绑定微信,但存在不小的风险,一些银行卡的盗刷案就和微信直接相关。●案例一盗取微信号冒充他人身份诈骗   赵女士在单位从事会计工作,前段时间,她收到同事潘小姐的一条微信,微信上嘱咐赵女士,加一下单位负责人朱先生的微信号,以后和单位领导通过微信也可以进行工作联系。赵女士没有多想,就加了单位负责人朱先生的微信。随后,朱先生在微信上让赵女士先查询单位的流动资金,之后嘱咐赵女士马上去打一笔汇款,共15000元给业务单位。朱先生同时通过微信将一个中国银行的卡号发给了赵女士。   赵女士没多想,通过手机银行就把15000元转账到指定账号。当天,赵女士碰见潘小姐,潘小姐否认微信上和赵女士有过交流,赵女士知道被骗后向汶河派出所报警。【提醒】冒充领导诈骗从QQ群转移到微信  这种情况下,用户要注意保护个人隐私,微信资料上尽量不要暴露真实身份。另外,在上传照片时要精心筛选,收到“好友”要求汇款的信息时,最好进行电话核实。●案例二盗微信后直接盗刷绑定的银行卡  9月13日下午4点40分,扬州大学医学院的韩姓同学在宿舍登录微信时,微信提示账号被盗无法登录。不过,韩同学看到该信息后却没在意,但很快就收到银行发来的付款短信,发现自己的银行卡里居然莫名其妙少了2000元,于是立刻向汶河派出所报警。【提醒】微信突然自动退出要特别当心  扬州汶河派出所办案民警王建介绍,韩同学银行卡被盗刷很可能与绑定的微信有关。目前对于微信支付来讲,它实际上绑定市民的银行卡,过程很简单:只需要输入银行卡号、身份证号码、姓名、手机号码,在这个过程中再自己设置一个支付密码就好了,连银行卡的支付密码都不需要。  “在开户、绑卡过程中,如果你的手机、身份证、银行卡同时被盗,犯罪分子有可能利用绑卡进行盗刷。”警方人士表示,传统银行柜台办理业务时,需要“人证合一”双重查验,即使身份证、银行卡被盗,如果办理业务者非本人,相关业务仍无法办理。“第三方移动支付环境下,仅通过姓名、卡号、身份证、手机号就可以完成,而且手机号的短信验证也被代劳,缺乏多因素认证措施。”  民警建议,市民一旦发现微信突然自动退出或无法登陆,要小心银行卡的钱通过微信支付被盗。平时要保护好自己的银行卡、身份证信息,以防万一。●案例三微信手机充值被假客服骗了  近日,扬州市民贾先生通过微信为手机充值100元,但这100元好长时间未到账。贾先生有点着急了,想到可以上网求助,于是百度搜索“微信手机充值不到账怎么办”,很快网页上出现很多答疑解惑的链接,但大多都是让贾先生等着。这时,一个的电话号码引起了贾先生的注意,因为这个号码被标注为“微信免费服务热线”。  拨打后,“客服”要求贾先生将银行卡号告诉他。经该客服查询,贾先生的银行卡被冻结了,如果要“解冻”,需要上ATM机操作。心急的贾先生按对方要求操作,并应对方要求告知银行卡余额。贾先生操作一会儿,对方又要他输入一串长号码和3617这个数字。这时,贾先生的手机突然收到银行的短信,他发现银行卡上的3617元被转走。【提醒】客服电话要通过官方正规途径求证  汶河派出所民警说,贾先生被骗案中,嫌疑人主要通过网上作案,以使用微信且对网上银行操作不熟的中青年人为主。在网站上提供虚假的微信客服网址,发布虚假微信客服电话等,待被害人信以为真拨打该电话后,便冒充客服人员诱骗被害人在银行ATM机上按其要求操作银行卡,在被害人不知情的情况下将银行卡内钱款转账骗走。  因此,市民使用微信遇到难题时,不要轻信网上搜索的客服电话,一定要通过官方网站等正规途径仔细求证;涉及到要求取款和输入密码操作的要求,更要慎之又慎。还有以下伎俩,过节了更要注意1木马红包  伎俩:这种“发红包”的软件页面跟微信钱包十分相似,实际上是一种木马程序。在你点击关注这个微信公众账号时,对方已经获取了你手机里的个人信息,包括支付宝、微信钱包、网银等账号及密码,随后转走钱财。  提示:不慎点击了这种“红包”,第一时间关闭手机网络,立刻修改网银、支付宝等密码,去正规手机售后部门刷机或重置相关系统,以彻底删除木马病毒。2假公众号  伎俩:骗子取一个类似“交通违章查询”这样的公众账号名,一旦用户信以为真,向该公众号发送截图,会收到提示“需要提交你刚刚收到的手机验证码”,若将验证码发过去,用户微信钱包里的钱就会被转走。  提示:对于各类公众账号要提高警惕,可与该账号官方联系求证,不随意进行交易,手机验证码一定要保护好。3代购诈骗  伎俩:诈骗者声称价格非常优惠,以此为诱饵打折代购。网友付款后,骗子以”商品被海关扣下,要加缴关税“等类似理由,让网友加付”关税“。等网友付钱后,骗子消失了,钱、货也没了。  提示:到正规网站买东西,实体店更保险。4二维码“藏毒”  伎俩:骗子以商品为诱饵,给你返利或者便宜,再发送商品二维码,哄骗消费者进行二维码扫描,实则藏有木马病毒。一旦安装,木马就会盗取银行账号、密码等个人隐私信息。  提示:手机不要随便安装不明程序,不要贪小便宜。5盗号  伎俩:通过盗取微信号、绑定微信的QQ号码以及手机号码等方式,获取微信用户的个人信息。诈骗者再冒充微信号主人与其家人、朋友联系,并以各种理由要钱。  提示:勿急于汇款,及时联系微信好友,电话核实真假。6假冒“高富帅”  伎俩:骗子一般装成”高富帅“或”白富美“与你搭讪,首先骗取你感情的信任,进而以借钱、商业资金紧张、手术等为由骗取钱财。  提示:无论通过什么途径认识的朋友,都要牢记”交友需谨慎“。7集赞送“礼”  伎俩:这种诈骗分两种:一是等你集满了要求的”赞“,兑换时发现到手的奖励”缩水“;二是商家发布信息时,要求参与者提供电话和姓名,套取个人信息。  提示:对这种信息要先查证一下,打电话咨询,必要时可把咨询答复录下,防止商家”赖账“;也可直接实地查看。8头像“克隆”  伎俩:不法分子下载你的微信头像,把昵称改成你的名字,再屏蔽朋友圈不让你看见,然后冒充你向你的朋友行骗,其他人无从分辨。  提示:及时为微信好友添加备注名能避免被骗,还可以仔细核对好友的微信号,因为微信号是无法改变的。
点击展开全文
悄悄告诉你
更多同类文章
还可知道有多少人阅读过此篇文章哦
阅读原文和更多同类文章
可微信扫描右侧二维码关注后
还可知道有多少人阅读过此篇文章哦
每日推送港城热点资讯,分享有趣文章,热衷传播本土文化,还是你吃喝玩乐的好指南。连云港本地最有影响力的公众平台!
您的【关注和订阅】是作者不断前行的动力
本站文章来自网友的提交收录,如需删除可进入
删除,或发送邮件到 bang@ 联系我们,
(C)2014&&版权所有&&&|&&&
京ICP备号-2&&&&京公网安备34微信支付话费到底有多少欺骗消费者的行为?_百度知道

我要回帖

更多关于 微信支付保证金 的文章

 

随机推荐