大神说堆dnf韩服基础精通改版,我不信怎么办

iOS 支付宝 微信支付 集成 支付成功不执行代理方法-ios7教程-手机开发-壹聚教程网iOS 支付宝 微信支付 集成 支付成功不执行代理方法
下面我们来看一篇关于iOS 支付宝 微信支付 集成 支付成功不执行代理方法,希望这篇教程能够为各位带来帮助。
iOS 支付宝或微信支付当支付成功后都会在AppDelegate中调用
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)
这两个方法进行回调操作,可是前段时间还好好的,这两天就不能用了,经过一番查找得知
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)
此方法成ios9中已过期,把回调放到新的代理方法中就可以了。
ios9中的方法:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary&NSString *,id& *)options{
&&& if ([url.host isEqualToString:@&safepay&]) {
&&&&&&& [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
&&&&&&&&&&& NSLog(@&result = %@&,resultDic);
&&&&&&& }];
&&&&&& return YES;
&&& }else{
&&&&&&& return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
上一页: &&&&&下一页:相关内容当前位置:
相关软件推荐
微信支付在微信小程序服务端是怎么集成的?
来源:下载之家
作者:zhangqian
小编今天给大家带来的教程是微信支付在微信小程序服务端是怎么集成的。以下就是完整的内容,想学习的小伙伴就赶紧过来和小编一起学习一下吧。
  小编今天给大家带来的教程是微信支付在小程序服务端是怎么集成的。以下就是完整的内容,想学习的小伙伴就赶紧过来和小编一起学习一下吧。
  理论上集成微信支付的全部工作可以在小程序端完成,因为小程序js有访问网络的能力,但是为了安全,不暴露敏感key,而且可以使用官方提供的现成php demo更省力,于是在服务端完成签名与发起请求,小程序端只做一个wx.requestPayment(OBJECT)接口的对接。
  整体集成过程与JSAPI、APP类似,先统一下单,然后拿返回的结果来请求支付。
  一共三步:
  1.小程序端通过wx.login的返回的code换取openid
  2.服务端向微信统一下单
  3.小程序端发起支付
  事先准备好这几样东西:
  APPID = 'wx426bbe';
  MCHID = '';
  KEY = '53e9cf7b0519d';
  APPSECRET = 'fffb80afaa36f';
  复制代码
  PHP SDK,下载链接见文尾
  第1、4样是申请小程序时获得的,第2、3样是申请开通微信支付时获得的,注意第3、4样长得比较像,其实是2个东西,两者混淆将导致签名通不过。
  向微信端下单,得到prepay_id
  1. 创建一个Controller,引并WxPay.Api.php类
  require_once __DIR__ . '/BaseController.php';
  require_once __DIR__ . '/../third_party/wxpay/WxPay.Api.php';
  class WXPay extends BaseController {
  function index() {
  复制代码
  之后可以通过index.php/wxpay来作访问请求
  2. 修改配置文件WxPay.Config.php
  改成自己申请得到相应key
  3. 实现index方法
  function index() {
  // 初始化值对象
  $input = new WxPayUnifiedOrder();
  // 文档提及的参数规范:商家名称-销售商品类目
  $input-&SetBody(&灵动商城-手机&);
  // 订单号应该是由小程序端传给服务端的,在用户下单时即生成,demo中取值是一个生成的时间戳
  $input-&SetOut_trade_no('');
  // 费用应该是由小程序端传给服务端的,在用户下单时告知服务端应付金额,demo中取值是1,即1分钱
  $input-&SetTotal_fee(&1&);
  $input-&SetNotify_url(&http://paysdk./example/notify.php&);
  $input-&SetTrade_type(&JSAPI&);
  // 由小程序端传给服务端
  $input-&SetOpenid($this-&input-&post('openId'));
  // 向微信统一下单,并返回order,它是一个array数组
  $order = WxPayApi::unifiedOrder($input);
  // json化返回给小程序端
  header(&Content-Type: application/json&);
  echo json_encode($order);
  复制代码
  说明1:文档上提到的nonce_str不是没提交,而是sdk帮我们填上的
  出处在WxPay.Api.php第55行
  $inputObj-&SetNonce_str(self::getNonceStr());//随机字符串
  复制代码
  说明2:sign也已经好心地给setSign了,出处在WxPay.Data.php第111行,MakeSign()中
  * 生成签名
  * @return 签名,本函数不覆盖sign成员变量,如要设置签名需要调用SetSign方法赋值
  public function MakeSign()
  //签名步骤一:按字典序排序参数
  ksort($this-&values);
  $string = $this-&ToUrlParams();
  //签名步骤二:在string后加入KEY
  $string = $string . &&key=&.WxPayConfig::KEY;
  //签名步骤三:MD5加密
  $string = md5($string);
  //签名步骤四:所有字符转为大写
  $result = strtoupper($string);
  return $
  复制代码
  4. 小程序内调用登录接口,获取openid
  向微信登录请求,拿到code,再将code提交换取openId
  wx.login({
  success: function(res) {
  if (res.code) {
  //发起网络请求
  wx.request({
  url: 'https://api./sns/jscode2session?appid=wxf***&secret=dcf2******&js_code='+res.code+'&grant_type=authorization_code',
  data: {
  code: res.code
  success: function (response) {
  console.log(response);
  } else {
  console.log('获取用户登录态失败!' + res.errMsg)
  复制代码
  从控制台看到已经成功拿到openid,剩下的事情就是将它传到服务端就好了,服务端那边$this-&input-&post('openId')等着收呢。
  5. 小程序端发起请求,作统一下单
  //统一下单接口对接
  wx.request({
  url: '/index.php/WXPay',
  data: {
  openId: openId
  success: function (response) {
  console.log(response);
  header: {
  'content-type': 'application/x-www-form-urlencoded'
  复制代码
  得到如下结果
  &appid&: &wxf8ed&,
  &mch_id&: &&,
  &nonce_str&: &eEICgYFuGqxFRK6f&,
  &prepay_id&: &wx141fc713b8f&,
  &result_code&: &SUCCESS&,
  &return_code&: &SUCCESS&,
  &return_msg&: &OK&,
  &sign&: &63E60C8CD9D085F5362C&,
  &trade_type&: &JSAPI&
  复制代码
  6. 小程序端调起支付API
  // 发起支付
  var appId = response.data.
  var timeStamp = (Date.parse(new Date()) / 1000).toString();
  var pkg = 'prepay_id=' + response.data.prepay_
  var nonceStr = response.data.nonce_
  var paySign = md5.hex_md5('appId='+appId+'&nonceStr='+nonceStr+'&package='+pkg+'&signType=MD5&timeStamp='+timeStamp+&&key=dcf16***e536b192d5d03b&).toUpperCase();
  console.log(paySign);
  console.log(appId);
  wx.requestPayment({
  'timeStamp': timeStamp,
  'nonceStr': nonceStr,
  'package': pkg,
  'signType': 'MD5',
  'paySign': paySign,
  'success':function(res){
  console.log('success');
  console.log(res);
  复制代码
  模拟器测试,将弹出一个二维码供扫描
  结果报了一个错误:
  errMsg:&requestPayment:fail&err_code:2err_desc:&支付验证签名失败&
  key需要加入到签名中!!!'appId='+appId+'&nonceStr='+nonceStr+'&package='+pkg+'&signType=MD5&timeStamp='+timeStamp+&&key=dcf16*e536b192d5d03b&这才是完整的。
  可是文档里明明没提到key啊
  支付成功截图
  微信支付在微信小程序服务端是怎么集成的全部内容就是这些,大家学会了吗?
下载之家是国内最值得信赖的官方软件下载资源提供商,提供安全无毒的绿色软件下载、手机软件下载、游戏下载等。高速安全的软件下载尽在下载之家!
Copyright &
下载之家 (). All Rights Reserved.Android微信支付快速集成案例及有效解决返回值-1,android-1-android100学习网
Android微信支付快速集成案例及有效解决返回值-1,android-1
Android微信支付快速集成案例及有效解决返回值-1,android-1
商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,...
Android微信支付快速集成案例及有效解决返回值-1,android-1
商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。本文讲解Android微信支付快速集成案例及有效解决返回值-1。
下面我们参考微信官方APP端开发步骤说明,一步一步集成微信支付功能:
1、商户APP工程中引入微信JAR包,该包可以从官方微信支付demo中获得。
2、编写调起微信支付的代码
官方提供的代码如下:
final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);
请将官方提供的上面这段代码改为如下代码:
final IWXAPI msgApi = WXAPIFactory.createWXAPI(this,"wxd930ea5d5a258f4f", false);
3、支付结果回调
“参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调)”,比如我的包名为.cwvs.fruit:
这里提供WXPayEntryActivity参考代码(请结合官方支付demo使用):
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{
private IWXAPI
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pay_result);
api = WXAPIFactory.createWXAPI(this, Constant.WEIXIN_APPID);
api.handleIntent(getIntent(), this);
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
api.handleIntent(intent, this);
public void onReq(BaseReq req) {
public void onResp(BaseResp resp) {
int code = resp.errC
switch (code){
case 0://支付成功后的界面
ToastUtils.showToast(getApplicationContext(), "签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、您的微信账号异常等。");
case -2://用户取消支付后的界面
//微信支付后续操作,失败,成功,取消
4、在配置文件中配置这个回调的activity
至此,微信支付Android端集成已经完成。
需要注意的是,如果errorCode总是为 -1,请尝试通过下面方法解决:
1、用提交的签名的keystore文件打包
2、清理微信的缓存
3、请根据上文的注意点,修改官方提供的代码。
版权声明:本文为博主原创文章,未经博主允许不得转载。
/Androidjc/1050412.true/Androidjc/1050412.htmlTechArticleAndroid微信支付快速集成案例及有效解决返回值-1,android-1 商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由...Pages: 1/2
主题 : 微信支付集成好了,若未安装微信怎么办?有方法能判断是否安装了微信么?
级别: 侠客
UID: 510191
可可豆: 340 CB
威望: 241 点
在线时间: 289(时)
发自: Web Page
来源于&&分类
微信支付集成好了,若未安装微信怎么办?有方法能判断是否安装了微信么?&&&
如题微信支付集成好了,若未安装微信怎么办?有方法能判断是否安装了微信么?
级别: 侠客
可可豆: 147 CB
威望: 147 点
在线时间: 120(时)
发自: Web Page
这个很容易 umeng 里面有个 isWXAppInstalled /*! @brief 检查微信是否已被用户安装 * * @return 微信已安装返回YES,未安装返回NO。 */OK
级别: 侠客
UID: 510191
可可豆: 340 CB
威望: 241 点
在线时间: 289(时)
发自: Web Page
回 1楼(张然1) 的帖子
不装umeng有办法判断么,不想装这种三方的
级别: 侠客
可可豆: 147 CB
威望: 147 点
在线时间: 120(时)
发自: Web Page
回 2楼(li7976013) 的帖子
好像是根据URL 来判断,,你自己搜搜吧 这个我不清楚
级别: 新手上路
UID: 520293
可可豆: 161 CB
威望: 156 点
在线时间: 371(时)
发自: Web Page
级别: 侠客
UID: 510191
可可豆: 340 CB
威望: 241 点
在线时间: 289(时)
发自: Web Page
回 3楼(张然1) 的帖子
感谢回答,不行只能用umeng了
级别: 侠客
UID: 510191
可可豆: 340 CB
威望: 241 点
在线时间: 289(时)
发自: Web Page
回 4楼(zk1947) 的帖子
太感谢了!帮大忙了,谢谢
级别: 圣骑士
UID: 428463
可可豆: 796 CB
威望: 746 点
在线时间: 950(时)
发自: Web Page
微信的sdk自带有判断的
级别: 新手上路
UID: 506921
可可豆: 199 CB
威望: 188 点
在线时间: 288(时)
发自: Web Page
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@&weixin://&]]
级别: 侠客
UID: 510191
可可豆: 340 CB
威望: 241 点
在线时间: 289(时)
发自: Web Page
回 7楼(_gufs) 的帖子
得用4楼的方法在plist里加权限
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版业务需要一个在微信上能付款的功能,于是乎想到了最普遍的支付宝,坑爹的是T与A是水火不容啊,默默的还是接微信支付吧,没想到从此掉进了连环坑&&
网上写微信支付接口的还是很多,PHP官方有(鄙视源码作者,连参数对应都错了,能跑通才怪),NET版 微信支付--入门篇&这篇算是比较全的,java版。
PHP的只能参考,终究还是先按NET版的还创建项目,不过文章里面也没具体写到如何前后台交互(偶用的MVC),对于初次接触的人来说只能问题来一个解决一个。
至于怎么从0开发就不用详细说明了,参考这位仁兄的 微信支付--入门篇&,微信支付V2版网上也有Demo,但V3与V2相差太大,以此就新版V3 碰到的问题来说明解决方法。
基础问题先排除:
确保 商户功能 审核通过,会有官方邮件
支付授权目录(注意看文档,大小写关系很大 点击支付按钮,提示&access_denied& 网上有很多关于此问题的解决)
点击支付按钮,提示&access_not_allow& 需要将测试人的微信帐号加入白名单
【在开发调试阶段,测试链接需要在公众号内点击打开 白名单用户在公众号内向公众号发一条消息,消息内容即为测试链接,然后点击打开】文档中写得很清楚,但中招的人还是不计其数(偶也中了&&)。
【参数大小写敏感】md5 运算后,字符串的字符要转换为大写,注意是MD5运算模块。
基本问题排除后,出问题最多的就是 利用JSAPI 支付,提示&该公众号支付签名无效,无法发起该笔交易&,此问题搞了2天多,网上到处搜索,不停的对比文档,无耐欲哭无泪啊,&不要用wifi和用流量才不报错&的答案都有(没遇到过)
基于园友提出的另一个问题&测试目录改为,网页支付时直接提示get_brand_wcpay_request:fail_invalid appid 。使用了其他的目录如&也毫无问题。估计微信内部把含mall的支付都给屏蔽了。 & 此问题还没亲自验证,不过在微信中还是请不要用关于阿里有关的域名,否则都不知道怎么坑死的。
具体的问题与 &中说的一样,能得到预支付 ID:prepay_id,但点击支付就是一直 提示&该公众号支付签名无效,无法发起该笔交易&,又不能本地调试,只能发布后写日志。
根据网上说的调整参数位置、没办法又看文档,那问题出在哪呢?
签名无效,说明出在第二次签名,此次要将参数提交给前台用js来传给微信来校验,查看MD5操作,
prepay_id的获得需传参:
其中MD5签名方法
/// &summary&
/// 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名
/// &/summary&
/// &param name="key"&参数名&/param&
/// &param name="value"&参数值&/param&
/// key和value通常用于填充最后一组参数
/// &returns&&/returns&
public virtual string CreateMd5Sign(string key, string value)
StringBuilder sb = new StringBuilder();
ArrayList akeys = new ArrayList(Parameters.Keys);
akeys.Sort();
foreach (string k in akeys)
string v = (string)Parameters[k];
if (null != v && "".CompareTo(v) != 0
&& "sign".CompareTo(k) != 0 && "key".CompareTo(k) != 0)
sb.Append(k + "=" + v + "&");
sb.Append(key + "=" + value);
string sign = MD5Util.GetMD5(sb.ToString(), GetCharset()).ToUpper();
1.package改为prepay_id=u802345jgfjsdfgsdXXX 的格式(html页也是此格式)
2.加入signType为MD5加密参数(有人说不加是不对的)
3.两次MD5加密都要按文档的方法 key要放在最后再加密
4.MD5加密对大小写加密的结果是不一样的,检查 appId与appid、timeStamp与timestamp加密后是不一样的,确保HTML与后台加密的参数一模一样,是一模一样哦!!(坑中坑,没想到微信支付竟然对大小写敏感到如此地步),注意第一次加密参数都是小写
5.参数个数5个
6.body参数过长
7.加入openid
我们的问题大多出现在4,按上面顺序解决后终于看到了支付窗口!!!!
此文献给还在深坑中的小伙伴们&&
不说了,说多了都是泪&&
& & & &之前微支付已经集成到项目中一直没时间抽出,现在需要的留下邮箱,java的单独说明下,点下推荐。
  &鉴于没时间看邮件急于想要的可自行扫文尾的二维码进入微信公众号【一个码农的日常】,回复&net支付 或&java支付&&或 php支付
& & & & 或加入 &新建2号QQ群:&&(1号群:& 已满)在文件里面有源码地址(等群主有时间会通过)。
& & & &这里抽出来的是net版本的,主要解决前期页面支付问题,只是个基本的demo,没有回调页面。有园友也提出了demo中的不足,建议先跑通这个demo,然后在此基础上补充不严谨的支付逻辑,毕竟是涉及到money的问题,毕竟也只是个demo,不能不思考就完全照般。
& & & &微信现在开放了最新的JS-SDK, 有园友指出现在的demo上用js-sdk会冲突,建议先不用js-sdk,能运行后,可将全部js都照JS-SDK的支付方法更改。。哥也只能帮你到这了&&
=============================================================
争对于园友新手调通支付后回调页面问题特此又写了一篇&&以供参考。
最近将NET版的回调页也加入了源码。
& & & & 其它干货下载资源已放入公众号【一个码农的日常】微信号:icodertime&
阅读(...) 评论()

我要回帖

更多关于 基础精通有什么用 的文章

 

随机推荐