微信支付官方demo下载测试闪退问题,如何解决?

微信支付开发关键点技术解析
发表于 14:30|
来源《程序员杂志》|
作者方倍工作室
摘要:本文将结合微信支付接口开发的实践,从支付申请到各主要接口的使用方法等方面介绍微信支付的关键点技术。11月15日微信开发者大会(深圳)上招行信用卡服务号、南航服务号/企业号及长安汽车企业号等将分享实战案例。
【编者按】由CSDN和《程序员》杂志联合举办的,在经历了的成功后,应广大微信开发者的强烈要求,主办方将于11月15日在,不仅有、&,还有等众多知名微信开发领域技术专家和典型开发商都将带来精彩演讲(点击)。目前报名处于特惠票价阶段,通过申请加入CSDN CTO俱乐部即可享受(票款中均含豪华午餐),在10月28日之前完成购票和付款流程的同学均将获赠微信技术开发图书一本+北京站讲师演讲视频和讲义(PDF)+全套深圳站讲师讲义(PDF)。微信支付是由微信及财付通联合推出的移动支付创新产品。如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑。本文将结合微信支付接口开发的实践,从支付申请到各主要接口的使用方法等方面介绍微信支付的关键点技术。URL设置目前,微信支付只能由通过微认证的服务号进行申请,订阅号及未认证的服务号均无法申请。登录微信公众平台后台,在左侧的栏目中可找到“微信支付”,点击进入申请界面,可以看到第一项中的“商户基本资料”,点击右侧的“填写”按钮后就进入了微信支付设置界面。微信支付的目录及URL没有固定的设置方法,具体还需要根据自己的需求来定,表1是方倍工作室的方案。表1 微信支付目录及URL设置需要注意的是,如果使用上述方法,要将域名换成自己的域名,其他的结构及层次可不变。这里所有的URL没有填写实际的文件名,目的是为了兼容不同的开发语言或框架。比如目录下的默认文件既可能是index.php,也可能是index.aspx。微信支付申请完成后,便进入了微信支付测试阶段,需要填写支付测试目录,测试目录可以填写为:/wxpay/test/。接口开发JS API支付JS API支付的实现比较简单,官方也提供了Demo,在此基础上修改部分参数即可。修改后的一个示例如下:&?php
include_once("WxPayHelper.php");
$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();
$wxPayHelper-&setParameter("bank_type", "WX");
$wxPayHelper-&setParameter("body", "微信支付开发教程");
$wxPayHelper-&setParameter("partner", PARTNERID);
$wxPayHelper-&setParameter("out_trade_no", $commonUtil-&create_noncestr());
$wxPayHelper-&setParameter("total_fee", "1");
$wxPayHelper-&setParameter("fee_type", "1");
$wxPayHelper-&setParameter("notify_url",
"/wxpay/notify/");
$wxPayHelper-&setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);
$wxPayHelper-&setParameter("input_charset", "GBK");
$biz_package=$wxPayHelper-&create_biz_package();
?&上述代码中,主要修改了两个参数:notify_url为接收交易通知的路径,这个一定要改为自己服务器上的一个路径;spbill_create_ip为用户客户端的IP,不改关系也不大,不过改一下更规范些。JS API支付是网页内的支付,通过调用微信支付控件来实现支付。如果要用作真实产品场景的支付,只需要修改一下产品名称及费用即可,对于涉及到快递费用的交易,需要注意订单的总金额为商品费用和物流费用的和。如果微信支付时提示Access Denied,通常有以下原因:参数填写不正确、支付目录结构不正确、没有加入白名单权限。需要对照检查一下,才能找到具体原因并进行纠正。Native支付Native(原生)支付就是常说的扫描二维码支付。这种支付首先需要商户定义符合Native支付规范的URL,也就是Native支付URL,同时在微信后台POST商户后台时需要提供package内容。Native支付的开发分为三步。生成Native支付的URLNative支付URL是一系列具有“weixin://wxpay/bizpayurl?”前缀的URL,同时后面紧跟着一系列辨别商户的键值对。原生URL由wxPayHelper类中的create_native_url()方法实现,实现代码如下:&&p&&?php&/p&&p&include_once("WxPayHelper.php");$wxPayHelper = new WxPayHelper();&/p&&p&$productid = "";echo $wxPayHelper-&create_native_url($productid);?&&/p&其中productid是商品唯一ID,开发人员需要定义并维护自己的商品ID,这个ID与一张订单等价,微信后台凭借该ID通过POST商户后台获取交易信息。上述代码生成的URL如下所示:weixin://wxpay/bizpayurl?appid=wxb489e8caeabcdefg&noncestr=BBvdr5atZ9D7s08X&produc
tid=&sign=e15db530e2f2f67ccb5&timestamp=生成URL的二维码有了上述支付链接后,还要把它转成二维码,PHP QR Code是一个开源的二维码生成类库,可使用它来生成上述Native URL,代码如下:&?php
include 'phpqrcode.php';$productid = "";
$filename = $productid.".png";
$nativeurl = "weixin://wxpay/bizpayurl?ap
pid=wxb489e8caeabcdefg&noncestr=BBvdr5atZ9D7s08X&productid=&sign=e15db530e2f2f67ccb5&timestamp=";QRcode::png($nativeurl, $filename, "L", "5", 2);
?&PHP QR Code的使用很简单,配置一下URL和文件名就可以了。执行上述代码,就会在当前目录下生成一个.png的二维码图片文件。Navive支付回调URL在前面说过,Native支付的回调URL设置为/wxpay/native/,当用户扫描上述二维码时,会调用该回调URL。URL需要调用订单信息Package返回给用户,而该Package是由WxPayHelper类的create_native_package()实现,调用代码如下:&?php
include_once("WxPayHelper.php");$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();
$wxPayHelper-&setParameter("bank_type", "WX");
$wxPayHelper-&setParameter("body", "微信支付开发教程");
$wxPayHelper-&setParameter("partner", PARTNERID);
$wxPayHelper-&setParameter("out_trade_no", $commonUtil-&create_noncestr());
$wxPayHelper-&setParameter("total_fee", "1");
$wxPayHelper-&setParameter("fee_type", "1");
$wxPayHelper-&setParameter("notify_url", "/wxpay/notify/");
$wxPayHelper-&setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);
$wxPayHelper-&setParameter("input_charset", "GBK");
$native_package = $wxPayHelper-&create_native_package();
echo $native_
?&上述代码中,参数的配置和JS API支付一样,只是最后调用的支付方式不一样。与此同时,微信公众平台将会向回调URL推送XML格式的数据。这些数据中包含签名字段,可以用来验证是否是真正的支付二维码,但这个验证的必要性不是很大。而回调URL也会返回一个XML格式的数据给微用户,用户才能看到他所交易的商品信息的内容,这个XML的格式如下:&xml&
&AppId&&![CDATA[wxb489e8caeabcdefg]]&&/AppId&
&Package&&![CDATA[bank_type=WX&body=%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B&fee_type=1&input_charset=GBK&notify_
u r l = h t t p % 3 A % 2 F % 2 F w w w . d o u c u b e .
com%2Fwxpay%2Fnotify%2F&out_trade_no=RaurRyM00lk9JZ8H&partner=&spbill_create_ip=58.60.3.185&total_fee=1&sign=C580FDA6E31AA89549DEB494]]&&/Package&
&TimeStamp&&/TimeStamp&&NonceStr&&![CDATA[7omKw6AMZOq8022u]]&&/NonceStr&
&RetCode&0&/RetCode&&RetErrMsg&&![CDATA[ok]]&&/RetErrMsg&
&AppSignature&&![CDATA[e01aa37f19aedcd472882]]&&/AppSignature&
&SignMethod&&![CDATA[sha1]]&&/SignMethod&
&/xml&如果商品已过期或有其他错误,则可以在上述返回XML数据中的RetCode和RetErrMsg中体现出来。例如:RetCode为其他非0值,RetErrMsg为“该商品已下架”。交易通知在上述JS API或Native支付完成后,将向/wxpay/notify/发送交易通知,并且带上URL参数,一个完整的带参数URL如下:&a href="/wxpay/notify/index.php?discount=0&fee_type=1&input_charset=GBK&notify_id=xhLwKoKHzIQeMSQrEMJ7WXJNxyPKaUmxsn--xLtq4FT7LkAeFe-IHd_ARlj7kdyYUavoFfz5v2We9P6GEIv7zGgoVlT4gP2I&out_trade_no=omeDreZkCTQOuZSB&partner=&product_fee=1&sign=D18E640BDECB18CDBA88C2&sign_type=MD5&time_end=55&total_fee=1&trade_mode=1&trade_state=0&transaction_id=12012"&
&a href="/wxpay/notify/index.php?discount=0&fee_type=1&input_charset=GBK&notify_id=xhLwKoKHzIQeMSQrEMJ7WXJNxyPKaUmxsn--xLtq4FT7LkAeFe-IHd_ARlj7kdyYUavoFfz5v2We9P6GEIv7zGgoVlT4gP2I&out_trade_no=omeDreZkCTQOuZSB&partner=&product_fee=1&sign=D18E640BDECB18CDBA88C2&sign_type=MD5&time_end=55&total_fee=1&trade_mode=1&trade_state=0&transaction_id=12012&/a"&/wxpay/notify/index.php?discount=0&fee_type=1&input_charset=GBK&notify_id=xhLwKoKHzIQeMSQrEMJ7WXJNxyPKaUmxsn--xLtq4FT7LkAeFe-IHd_ARlj7kdyYUavoFfz5v2We9P6GEIv7zGgoVlT4gP2I&out_trade_no=omeDreZkCTQOuZSB&partner=&product_fee=1&sign=D18E640BDECB18CDBA88C2&sign_type=MD5&time_end=55&total_fee=1&trade_mode=1&trade_state=0&transaction_id=12012&/a&/a&&
&transport_fee=0同时,微信还发送POST数据,XML格式如下:&xml&
&OpenId&&![CDATA[oWWVStzuQl6Gz-pj39_Gk1lvnfoY]]&&/OpenId&
&AppId&&![CDATA[wxb489e8caeabcdefg]]&&/AppId&
&IsSubscribe&1&/IsSubscribe&
&TimeStamp&&/TimeStamp&
&NonceStr&&![CDATA[WW8xQ6th6ybgy0lF]]&&/NonceStr&
&AppSignature&&![CDATA[30ecacd2f6c1caac95727]]&&/AppSignature&
&SignMethod&&![CDATA[sha1]]&&/SignMethod&
&/xml&注意,URL和XML中包含了此次交易的很多重要信息,其中有三项参数,分别是商户订单号out_trade_no,交易号transaction_id及XML数据中的OpenID,这几个参数将在后续很多接口中使用到。订单查询订单查询API的URL为:h t t p s : / / a p i . w e i x i n . q q . c o m / p a y /orderquery?access_token=xxxxxxURL中的参数只包含微信公众平台凭证access_token,而订单查询的真正数据是放在PostData中的,格式如下:{
"appid":"wwwwb4f85f3a797777",
"package":"out_trade_no=11122&partner=&sign=4e8d0df3da0c3d0df38f",
"timestamp":"",
"app_signature":"53cca9d47b883bd4a5c85acb48565c",
"sign_method":"sha1"
}订单查询这一接口,开发文档中并没有给出Demo,所以需要自己来实现。其中关键点是生成参数package中的sign和app_signature。其中,sign是对参数字典序排序并使用“&”联合起来,最后加上&key=partnerkey(唯一分配),进行md5运算,再转成全大写,最终得到sign。而app_signature则是根据支付签名(paySign)生成方法中所讲的签名方式生成,参加签名字段为:appid、appkey、package、timestamp。相关代码实现如下所示:$sign= strtoupper(md5("out_trade_no=JfuKdiBig4zZnE4n&partner=&key=asdfas
dfasdfasdfasdfasdfasdfasdf"));
$package = "out_trade_no=JfuKdiBig4zZnE4n&partner=&sign=".$
$obj['appid'] = "wx0000";
$obj['appkey'] = "8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvd
JENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6k";
$obj['package'] = $
$obj['timestamp'] = time();
$WxPayHelper = new WxPayHelper();//get_biz_sign函数为protected类型,可改为public
$app_signature = $WxPayHelper-&get_biz_sign($obj);发货通知发货通知API的URL为:h t t p s : / / a p i . w e i x i n . q q . c o m / p a y /delivernotify?access_token=xxxxxxURL中的参数只包含微信公众平台凭证access_token,而发货通知的真正数据放在PostData中,格式如下:{
"appid":"wwwwb4f85f3a797777","openid":"oX99MDgNcgwnz3zFN3DNmo8uwa-w",
"transid":"333",
"out_trade_no":"555666uuu",
"deliver_timestamp":"",
"deliver_status":"1",
"deliver_msg":"ok",
"app_signature":"53cca9d47b883bd4a5c8
&span style="font-family: Helvetica, Tahoma, Arial, sans- font-size: 14"&5acb48565c",&/span&&p&&"sign_method":"sha1"
}&/p&发货通知也没有Demo,需要自己开发实现,其中的关键点也是生成app_signature,它根据支付签名(paySign)生成方法中所讲的签名方式生成,参加签名字段为:appid、appkey、openid、transid、out_trade_no、deliver_timestamp、deliver_status、deliver_msg。实现代码如下所示:$deliver_timestamp = time();
$obj['appid'] = APPID;
$obj['appkey'] = APPKEY;
$obj['openid'] = "oWWVStzuQl6Gz-pj39_Gk1lvnfoY"; //交易通
知XML中获得$obj['transid'] = "5725"; //jsapi中生成,交易通
知URL中获得$obj['out_trade_no'] = "omeDreZkCTQOuZSB"; //jsapi中生成,交易通
知URL中获得$obj['deliver_timestamp'] = $deliver_
$obj['deliver_status'] = "1";
$obj['deliver_msg'] = "ok";
$WxPayHelper = new WxPayHelper();
$app_signature = $WxPayHelper-&get_biz_
sign($obj);告警通知告警通知的URL为申请微信支付时设置的/wxpay/alarm/,微信后台将向该URL推送包含PostData的XML数据,数据中包含错误类型、错误描述、错误详情等信息。告警数据在接收后需要写入到系统告警模块中,并要求商户尽快做出处理,以免影响线上经营。维权通知维权通知的URL为申请微信支付时设置的/wxpay/rights/,用户在新增投诉单及确认处理完毕投诉后,微信后台都会向该URL推送包含PostData的XML数据, 数据中包含维权内容信息。维权通知是被动接收到的通知,接收到后,最好能使用模版消息提醒自己,以免错过处理时限。标记投诉处理标记客户投诉处理状态API的URL为:https://api./payfeedback/update?access_token=xxxxx&openid=XXXX&feedbackid=xxxxURL中的参数包含微信公众平台凭证access_token,客户投诉对应的单号feedbackid,以及OpenID。填好参数后访问该URL即可返回“标记成功”的通知。收货地址共享收货地址共享的开发是微信支付开发中最复杂的部分,主要原因有:官方没有Demo;开发文档含糊不清;签名算法与之前的不一致,需要自己新实现;JS API回调后不能给出错误原因提示,调试没有方向感,需要开发者对高级接口中的OAuth2.0过程非常精通。收货地址共享的完整实现步骤如下。设置授权回调域名OAuth2.0授权页面域名的配置在公众平台网站→开发者中心→接口权限表→高级接口→OAuth2.0网页授权中设置,将域名设置成微信支付授权目录中的域名,如。构造请求授权回调URL请求OAuth2.0授权的URL如下:请求授权参数说明如表2所示。表2 请求授权参数这里,构造请求接口如下:其中,/wxpay/getAddress.php是获取共享收获地址的页面。作用域使用snsapi_base,用户访问上述请求接口之后,将会跳转到页面/wxpay/getAddress.php?code=02feabc395c1b2e0451547&state=1。获取共享收货地址在getAddress.php页面,首先需要获取授权Access Token,这个Access Token是OAuth2.0授权时获得的,不是自定义菜单实现时的那个Access Toekn。实现代码如下:$appid = APPID;
$appsecret = APPSERCERT;
$code = $_GET["code"];
$access_token_url = "https://api.weixin.
qq.com/sns/oauth2/access_token?appid=$ap
pid&secret=$appsecret&code=$code&grant_
type=authorization_code";
$access_token_json = file_get_
contents($access_token_url);
$ a c c e s s _ t o k e n _ a r r a y = j s o n _
decode($access_token_json, true);
$access_token = $access_token_
array['access_token'];然后需要计算出地址签名,参与addrSign签名的字段包括:appid、url(当前网页URL,包含code和state参数)、timestamp、noncestr、accessToken(用户OAuth2.0授权凭证)。这里scope、signType不参与签名。这是共享收获地址中最关键的一步,它对所有待签名参数按照字段名ASCII码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2……)拼接成字符串string1。然后对string1作签名算法,字段名和字段值都采用原始值,并进行URL转义。具体签名算法为addrSign = SHA1(string1)。其代码如下:$commonUtil = new CommonUtil();
$noncestr = $commonUtil-&create_noncestr();
$timestamp = time();
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$wxPayHelper = new WxPayHelper();
$obj['appId'] = $
$obj['url'] = $
$obj['timestamp'] = $
$obj['noncestr'] = $
$obj['accessToken'] = $access_//参数小写
foreach ($obj as $k =& $v){ $obj2[strtolower($k)] = $v; }//字典序排序
ksort($obj2);//URL键值对拼成字符串
$ b i z S t r i n g = $ c o m m o n U t i l -&formatBizQueryParaMap($obj2, false);//sha1签名
$signature = sha1($bizString);所有字段的值都获取成功以后,就赋值成收货地址接口的JS API中的变量值。其他接口其他接口还有退款接口、退款查询接口、对账单下载等,他们都有Demo,配置好后即可使用。其中唯一要注意的就是退款接口的开发中pem证书的生成方法。在退款接口的开发中,需要把pfx证书转换pem证书,转换后将pem文件作为私钥。这需要用到OpenSSL这一工具,一般Linux已自带该功能。在Linux下的转换命令如下:[root@FANGBEI wxpay]# openssl pkcs12 -in .pfx -out .pem
Enter Import Password:MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[root@FANGBEI wxpay]# lltotal 8-rw-r--r-- 1 root root 4011 Aug 14 15:31 .pem-rw-r--r-- 1 root root 2717 Aug 14 15:28 .pfx
[root@FANGBEI wxpay]#转换过程中需要输入商户ID来解密旧证书,然后设置新密码来加密新证书,新密码将在退款程序中配置使用。总结微信支付的开发文档中对部分关键技术阐述不详,不利于开发者快速理解上手。本文从申请微信支付时目录及URL设置到各种接口开发中的核心部分都做了讲解,希望能为微信支付的开发人员提供帮助,加快开发速度。请关注的持续更新如果您不想错过与他们的交流机会,请点击,3人以上团购可享受优惠价。主办方还特别开通了微信开发者QQ群:,欢迎加入交流。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章西西软件下载最安全的下载网站、值得信赖的软件下载站!
→ 遇到微信闪退怎么办
v6.3.7.57 官网最新版
类型:社交聊天大小:31.3M语言:中文 评分:9.6
遇到闪退怎么办?很多机友反映遇到了闪退故障,有什么解决方法吗?西西收集整理了网友提供的解决方法,大家可以试一试,希望能够帮助到遇到问题的朋友。微信常见闪退原因:一、文件损坏造成微信闪退遇到这个问题反复重新安装微信是解决不了问题,需要先清空微信数据然后重新安装才可以。按菜单键,找到系统设置-&应用程序(部分手机名称不一样),在列表中找到微信图标,点击弹出程序信息界面,点击清空数据即可。二、SD卡空间不足造成闪退很多游戏或软件在SD卡空间不足的情况下会出现闪退。按菜单键,找到系统设置-&存储(部分手机名称不一样),如果可用空间小于1M时,就应该删除或清理一些应用
寂寞交友公交卡手机充值app兴趣交友男生必备app00后最常用的app
寂寞交友由西西为大家整理一系列火热的社交应用,因为寂寞而交友,随着时代的发展,人们越来越无法满足现有的交际圈子,对于择偶标准的提高,催生出一系列单身男女的情感问题,压抑的情绪需要得到一定的释放,如果你想找寻属于自己的缘分,就赶快下载吧。交友软件排行微信企鹅之子的基数之巨大,寂寞的时候摇一摇,丝男也会有春天不过企鹅之子也有个弊病,依托于的用户资源,环肥燕瘦难以保证。来往来往是拼爹的,背靠大树好乘凉。...
11-30 / 27.4M
推荐理由:全新的手机QQ(Android)2014版正式发布。新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计
12-01 / 29.3M
推荐理由:陌陌安卓版是类似于微信的一款基于真实地理位置的交友工具你可以通过陌陌认识周围的陌生人或者朋友,免费发
09-17 / 28.3M
推荐理由:大家都知道陌陌吧,现在西西软件园给大家提供一款电脑版本的陌陌哦。
即使你没有智能手机,也能玩陌陌~
10-12 / 21.8M
推荐理由:来往推出来也有一段时间了,西西一直在默默关注这款社交软件的发展,从推广的力度来看,来往这款软件毋庸置
09-28 / 21.8M
推荐理由:使用来往应用端轻松对好友分组,轻松与自己的小圈子分享有趣的时刻。在来往,不用担心你的妈妈会看到你与朋
11-24 / 21.8M
推荐理由:点点虫app是一款阅后即焚聊天应用,最大限度的保障了用户的个人隐私,你可以在此发泻心中的不满及各类情绪,
公交卡已经成为人们出门必带的物品之一了,不管是坐地铁还是坐公交,都需要我们的公交卡,但是如果公交卡钱用完了怎么办呢找不到充值的地方又或者是不想排长长的队没关系,今天西西小编给大家推荐一些公交卡手机充值软件,教大家如何用手机网上充值公交卡。现在智能机已经普及,很多的手机上都已经具备了功能,只要手机具有这个功能,就可以随时手机充值公家卡哦现在小编给大家推荐几款相应的充值软件支付宝公交卡充值,选择城市一...
12-04 / 38.8M
推荐理由:支付宝钱包是支付宝针对手机推出的客户端软件,用户可通过它用手机登陆支付宝。只要在您的手机上安装了支付
11-25 / 31.3M
推荐理由:微信,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。微信支
10-24 / 2.3M
推荐理由:武汉通卡是很多武汉人会必备的出行卡,不仅可以刷公交还可以刷地铁刷轮渡,不过最麻烦的恐怕是要找充值点了
11-30 / 27.4M
推荐理由:全新的手机QQ(Android)2014版正式发布。新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计
11-04 / 4.6M
推荐理由:嘟嘟宝公交卡充值是一款可以让你用手机就能给公交卡充值的软件,目前都都宝app软件支持绍兴、南昌、青岛、厦
12-01 / 5.6M
推荐理由:公交地铁等在人们日常生活中的交通方式中占有很重的比例,于是很多人都会选择购买城市一卡通来节省这方面的
兴趣交友,顾名思义就是通过兴趣进行社交活动,你可以根据某一项兴趣,比如音乐看书游戏运动等找寻志同道合的朋友,再根据地域组织各类线上线下活动,随着网络的发展,交友已经没有界限,但现实生活的接触方能加深彼此的了解,赶快找寻与你兴趣相投的朋友吧。相关信息好的朋友影响着一生。那么你知道关于朋友交往为什么要有距离呢两个人有如两条铁轨,平行着才能走远。朋友之间的交往需要适当的距离。拿破仑说没有永远的朋友,也没...
11-25 / 53.0M
推荐理由:qq2015最新版官方下载,QQ全新设计回归本源设计,整体风格简约,让您的目光停留在您所关注的内容上,大大提
11-25 / 31.3M
推荐理由:微信,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。微信支
12-01 / 29.3M
推荐理由:陌陌安卓版是类似于微信的一款基于真实地理位置的交友工具你可以通过陌陌认识周围的陌生人或者朋友,免费发
11-02 / 2.3M
推荐理由:达罗app是一款基于兴趣的社交平台,在这里你可以找到跟你一样喜欢唱歌、跳舞、LOL、各种兴趣的陌生好友,跟
10-26 / 8.4M
推荐理由:趣交友app是当前白领圈子中十分火热的社交神器,你可以联系身边的用户,发布话题、组织各类兴趣活动,也可以
09-18 / 22.9M
推荐理由:聚乐库(兴趣交友)app,找有相同兴趣爱好的人来交朋友吧!是不是总是感叹身边没有懂自己的人呢,是不是总感
西西软件园为手机用户带来男生必备下载,帮你发现好用的软件,游戏等,快来下载吧微信微信手机版,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。如今朋友圈已成为了中国最流行的社区之一,微信团队现已开始在运营朋友圈广告,现在刷朋友圈同时存在广告了。天天酷跑天天酷跑最新版拥有动感的背景音乐华丽的游戏界面得心应手的跑酷游戏体验,可让玩家在精妙的设计中越玩越爽快,令游戏乐...
11-25 / 31.3M
推荐理由:微信,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。微信支
12-08 / 245.8M
推荐理由:天天酷跑安卓版是一款绚丽的动作跑酷游戏。不同于传统的酷跑类游戏,天天酷跑中还拥有了多个炫酷的角色可供
08-27 / 8.7M
推荐理由:知乎网络社区安卓客户端,这是一款用户体验非常不错的app应用。知乎是一家社会化问答网站,一个人大脑中从未
05-29 / 32.4M
推荐理由:SE旗下超人气卡牌《扩散性百万亚瑟王》续作《乖离性百万亚瑟王》, 在新作中可支持最多4人的同时连线对战,
12-07 / 9.8M
推荐理由:ZAKER(扎客)是一款互动分享和个性化定制的阅读软件。它将微博、博客、报纸、杂志、网络新闻、图片、RSS、
10-26 / 41.8M
推荐理由:淘宝Android手机客户端是淘宝网官方推出的提供给用户使用的手机购物软件,为用户提供快捷方便的手机购物新体
西西软件园为用户带来后手机必备软件大全,最常用的手机下载,一次性搞定这些热门的社交软件和游戏,让你的生活更加精彩,下面看下部分软件介绍社交软件手机,手机移动版提供多媒体沟通服务,方便用户在移动设备上通过语音图片视频等方式轻松交流。致力于更完美的移动社交娱乐与生活体验乐在沟通年,聊天欢乐亿人微信,微信,数亿人使用,能通过手机网络给好友发送语音文字消息表情图片和视频,还可分享照片到朋友圈。通过摇一摇查...
11-30 / 27.4M
推荐理由:全新的手机QQ(Android)2014版正式发布。新版本在保留原有功能基础上,加入2套趣味表情,并对UI进行简化设计
11-25 / 31.3M
推荐理由:微信,可以群聊的手机对讲机。微信是腾讯公司推出的一个为智能手机提供即时通讯服务的免费应用程序。微信支
11-26 / 39.9M
推荐理由:新浪微博手机客户端是新浪出品的手机微博客户端软件,集文字、图片、视频、音频、LBS于一身的全球化社交应用
12-08 / 245.8M
推荐理由:天天酷跑安卓版是一款绚丽的动作跑酷游戏。不同于传统的酷跑类游戏,天天酷跑中还拥有了多个炫酷的角色可供
12-10 / 26.3M
推荐理由:手机QQ音乐是一款安装在手机中的播放器软件,海量内容曲库任你点播,更有丰富的推荐榜单助您冲浪在流行浪潮
05-15 / 14.0M
推荐理由:奇艺又名爱奇艺,百度旗下的高清电影站,有许多最新最热的正版大片供免费观看,速度也非常的不
05-3005-1104-1904-0203-1212-1009-1608-1301-2501-25
阅读本文后您有什么感想? 已有0人给出评价!
名称大小下载}

我要回帖

更多关于 ios 微信支付官方demo 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信