香港海局系统审核退款到微信分身版ios要审核15天?

下我通过在网络上被骗了,微信支付的,,现在他们不给我退款还说要审核我交了钱又说要完成什么业务怎么让他给退款?--在线法律咨询|律师365(64365.com)
大家都在搜:
微信扫一扫 免费问律师
手机扫一扫 法律兜里装
下我通过在网络上被骗了,微信支付的,,现在他们不给我退款还说要审核我交了钱又说要完成什么业务怎么让他给退款?
1分钟提交法律咨询 2000多位 信得过的好律师 为您提供专业解答
(咨询请说明来自律师365)
地区:四川 成都|解答问题:40321条
你好,你可以到派出所报案。
关注此问题的人还看了
400-64365-60
400-64365-60
相关法律知识
周边专业律师
扫描二维码
更多惊喜等着您!
立即提问、免费短信回复
律师365,优质法律服务平台
400-64365-60服务时间:周一至周六8:00~22:00服务指南平台保障律师入驻常见问题
Copyright(C) 成都六四三六五科技有限公司 版权所有 蜀ICP备号 增值电信业务经营许可证(川B2-)
630律师在线
632今日解答微信小程序的支付和退款流程
近期在做微信小程序时,涉及到了小程序的支付和退款流程,所以也大概的将这方面的东西看了一个遍,就在这篇博客里总结一下。
首先说明一下,微信小程序支付的主要逻辑集中在后端,前端只需携带支付所需的数据请求后端接口然后根据返回结果做相应成功失败处理即可。我在后端使用的是php,当然在这篇博客里我不打算贴一堆代码来说明支付的具体实现,而主要会侧重于整个支付的流程和一些细节方面的东西。所以使用其他后端语言的朋友有需要也是可以看一下的。很多时候开发的需求和相应问题的解决真的要跳出语言语法层面,去从系统和流程的角度考虑。好的,也不说什么废话了。进入正题。
支付主要分为几个步骤:
前端携带支付需要的数据(商品id,购买数量等)发起支付请求
后端在接收到支付请求后,处理支付数据,然后携带处理后的数据请求 微信服务器 的 支付统一下单接口
后端接收到上一步请求微信服务器的返回数据,再次处理,然后返回前端让前端可以开始支付。
前端进行支付动作
前端支付完成后,微信服务器会向后端发送支付通知(也就是微信要告诉你客户已经付过钱了),后端根据这个通知确定支付完成,然后就去做支付完成后的相应动作,比如修改订单状态,添加交易日志啊等等。
从这几个步骤可以看出,后端主要的作用就是将支付需要的数据传给微信服务器,再根据微信服务器的响应确定支付是否完成。
这个流程还是蛮容易理解的。形象的说,前端就是个顾客,后端就是店家,微信服务器的统一下单接口就像收银员。顾客跟店家说,我是谁谁谁,现在我要付多少多少钱给你买什么什么。店家就跟收银员说,那个谁谁谁要付多少钱,你准备收钱吧。收银员收到钱后,就去告诉店家,我已经收到钱了,你给他东西吧。
下面就详细的说明一下各个步骤的具体实现。
1. 前端请求支付
前端请求支付,就是简单的携带支付需要的数据,例如用户标识,支付金额,支付订单 ID 等等跟 **你的业务逻辑有关** 或者跟 **下一步请求微信服务器支付统一下单接口需要的数据有关** 的相关数据,使用微信小程序的 wx.request( ) 去请求后端的支付接口。
2. 后端请求微信服务器
后端接收到前端发送的支付请求后,可以进行一下相关验证,例如判断一下用户有没有问题,支付金额对不对等等。
在验证没什么问题,可以向微信服务器申请支付之后,后端需要使用 微信规定的数据格式 去请求微信的支付统一下单接口。
微信规定的请求数据:
这需要较多代码实现。因为需要的数据个数较多,而且还需要加密并以 XML 格式发送。
首先,有以下数据是使用小程序支付必须提供给微信服务器的参数。
小程序 appid。写小程序的大概没有不知道这个的。。。
用户标识 openid。也就是用户的小程序标识,在我中说明了如何获取。
商户号 mch_id 。申请开通微信支付商户认证成功后微信发给你的邮件里有
商户订单号 out_trade_no 。商户为这次支付生成的订单号
总金额 total_fee 。订单总金额,很重要的一点是单位是分,要特别注意。
微信服务器回调通知接口地址 notify_url。微信确认钱已经到账后,会往这个地址多次发送消息,告诉你顾客已经付完钱了,你需要返回消息给微信表示你已经收到了通知。。这个地址不能有端口号,同时要能直接接受POST方法请求。
交易类型 trade_type 。微信小程序支付此值统一为 JSAPI
商品信息 Body。类似&腾讯-游戏&这种格式
终端IP地址 spbill_create_ip 。终端地址IP,也就是请求支付的 IP 地址。
随机字符串 nonce_str 。需要后端随机生成的字符串用于保证数据安全。微信要求不长于32位。
签名 sign 。使用上面的所有参数进行相应处理加密生成签名。(具体处理方式可见下文代码,可直接复用。)
在处理好以上所有数据后,将这些数据以 XML 格式整理并以 POST 方法发送到 微信支付统一下单接口
3.后端接受微信服务器返回数据
微信服务器在接收到支付数据之后,如果数据没有问题,其会返回用于支付的相应数据,其中非常重要的是 名称为 prepay_id 的数据字段,需要将此数据返回前端,前端才能继续支付。
因此,在后端接收到微信服务器的返回数据后,需要进行相应的处理,最终返回到前端如下数据:
appid 不需多说
timeStamp 当前时间戳
nonceStr 随机字符串
package 就是上面提到的 prepay_id,不过切记格式如 “prepay_id= prepay_id_item“。否则会导致错误。
signType 加密方式,一般应该是 MD5
paySign 对以上数据进行相应处理并加密。
到这里,后端的支付接口已经完成了接收前端支付请求,并返回了前端支付所需数据的功能。
4. 前端发起支付
前端在接收到返回数据后,使用 wx.requestPayment() 来请求发起支付。此 API 需要的对象参数各项值就是我们上一步返回的各个数据。
5.后端接受微信服务器回调
前端完成支付后,微信服务器确认支付已经完成。就会向第一步中设置的回调地址发送通知。后端的接收回调接口在接收到通知后,就可以判断支付是否完成,从而决定后续动作。
需要注意的是,在接收到微信服务器的回调通知后,根据通知的result_code字段判断支付是否成功。在接受到成功的通知后,后端需要返回success数据向微信服务器告知已得到回调通知。否则微信服务器会不停的向后端发送消息。另外微信的通知是以XML格式发送的,在接受处理时需要注意。
微信的大概支付流程就是这样。以下是PHP语法的微信支付类,可以比照上面的步骤介绍,加深理解。在需要支付时,直接传入参数实例化此类再调用类的 pay 方法即可。
//微信支付类
class WeiXinPay{
//=======【基本信息设置】=====================================
//微信公众号身份的唯一标识
protected $APPID = appid;//填写您的appid。微信公众平台里的
protected $APPSECRET = secret;
//受理商ID,身份标识
protected $MCHID = ';;//商户id
//商户支付密钥Key
protected $KEY = 'c09247ec02edce69f6a2d';
//回调通知接口
protected $APPURL =
'https://smart.afei.com/receivesuc';
//交易类型
protected $TRADETYPE = 'JSAPI';
//商品类型信息
protected $BODY = 'wx/book';
//微信支付类的构造函数
function __construct($openid,$outTradeNo,$totalFee){
$this-&openid = $openid; //用户唯一标识
$this-&outTradeNo = $outTradeNo; //商品编号
$this-&totalFee = $totalFee; //总价
//微信支付类向外暴露的支付接口
public function pay(){
$result = $this-&weixinapp();
return $result;
//对微信统一下单接口返回的支付相关数据进行处理
private function weixinapp(){
$unifiedorder=$this-&unifiedorder();
$parameters=array(
'appId'=&$this-&APPID,//小程序ID
'timeStamp'=&''.time().'',//时间戳
'nonceStr'=&$this-&createNoncestr(),//随机串
'package'=&'prepay_id='.$unifiedorder['prepay_id'],//数据包
'signType'=&'MD5'//签名方式
$parameters['paySign']=$this-&getSign($parameters);
return $parameters;
*请求微信统一下单接口
private function unifiedorder(){
$parameters = array(
'appid' =& $this-&APPID,//小程序id
'mch_id'=& $this-&MCHID,//商户id
'spbill_create_ip'=&$_SERVER['REMOTE_ADDR'],//终端ip
'notify_url'=&$this-&APPURL, //通知地址
'nonce_str'=& $this-&createNoncestr(),//随机字符串
'out_trade_no'=&$this-&outTradeNo,//商户订单编号
'total_fee'=&floatval($this-&totalFee), //总金额
'open_id'=&$this-&openid,//用户openid
'trade_type'=&$this-&TRADETYPE,//交易类型
'body' =&$this-&BODY, //商品信息
$parameters['sign'] = $this-&getSign($parameters);
$xmlData = $this-&arrayToXml($parameters);
$xml_result = $this-&postXmlCurl($xmlData,'https://api.mch.weixin.qq.com/pay/unifiedorder',60);
$result = $this-&xmlToArray($xml_result);
return $result;
//数组转字符串方法
protected function arrayToXml($arr){
$xml = &&xml&&;
foreach ($arr as $key=&$val)
if (is_numeric($val)){
$xml.=&&&.$key.&&&.$val.&&/&.$key.&&&;
$xml.=&&&.$key.&&&![CDATA[&.$val.&]]&&/&.$key.&&&;
$xml.=&&/xml&&;
return $xml;
protected function xmlToArray($xml){
$array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $array_data;
//发送xml请求方法
private static function postXmlCurl($xml, $url, $second = 30)
$ch = curl_init();
//设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, $second);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //严格校验
//设置header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//post提交方式
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
set_time_limit(0);
//运行curl
$data = curl_exec($ch);
//返回结果
if ($data) {
curl_close($ch);
return $data;
$error = curl_errno($ch);
curl_close($ch);
throw new WxPayException(&curl出错,错误码:$error&);
* 对要发送到微信统一下单接口的数据进行签名
protected function getSign($Obj){
foreach ($Obj as $k =& $v){
$Parameters[$k] = $v;
//签名步骤一:按字典序排序参数
ksort($Parameters);
$String = $this-&formatBizQueryParaMap($Parameters, false);
//签名步骤二:在string后加入KEY
$String = $String.&&key=&.$this-&KEY;
//签名步骤三:MD5加密
$String = md5($String);
//签名步骤四:所有字符转为大写
$result_ = strtoupper($String);
return $result_;
*排序并格式化参数方法,签名时需要使用
protected function formatBizQueryParaMap($paraMap, $urlencode)
$buff = &&;
ksort($paraMap);
foreach ($paraMap as $k =& $v)
if($urlencode)
$v = urlencode($v);
//$buff .= strtolower($k) . &=& . $v . &&&;
$buff .= $k . &=& . $v . &&&;
if (strlen($buff) & 0)
$reqPar = substr($buff, 0, strlen($buff)-1);
return $reqPar;
* 生成随机字符串方法
protected function createNoncestr($length = 32 ){
$chars = &abcdefghijklmnopqrstuvwxyz&;
for ( $i = 0; $i & $length; $i++ ) {
$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);
return $str;
以上就是微信支付的相关流程。在理清思路后,流程还是比较清晰和简单的。重点在于需要注意一些细节问题,例如数据格式,加密方法等。
下面说一下微信小程序退款的具体实现
小程序退款的流程和付款相似,但有一些细节上的不同。
首先退款的步骤通常如下:
用户前端点击退款按钮后,后端接收到用户的退款请求通过商城后台呈现给商户,商户确定允许退款后,后端再发起向微信退款接口的请求来请求退款。
后端向微信退款接口发送请求后,得到响应信息,确定退款是否完成,根据退款是否完成再去进行改变订单状态等业务逻辑。
退款的步骤相对微信支付来说比较简单。
值得注意的有以下两点:
1.向微信退款接口请求退款后,根据得到的响应是可以直接确定退款是否完成的。不再需要设置专门的回调接口等待微信通知。当然如果需要也是可以在微信商户平台设置回调接口接受从而接受微信回调的,但并不是必须的。
2.退款请求需要在请求服务器安装微信提供的安全证书,也就是说,发起退款请求相比较支付请求在请求时请求方法不能复用,因为微信退款需要携带证书的请求,此证书可在申请微信商户号成功后从微信商户平台自行下载,Linux下的PHP开发环境的证书只需要放在网站根目录的cert文件夹中即可。其他开发环境可能需要导入操作。
下面讲解一下退款的具体步骤
一. 用户发起退款请求
用户在前端发起退款请求,后端接收到退款请求,将相应订单标记为申请退款,展示在后台.商户查看后,如果同意退款再进行相应操作.此后才进入真正的退款流程.
二. 商户发起退款请求
商户同意退款后,后端即向微信提供的退款 API 发起请求.
同请求微信支付API一样.退款请求也需要将需要的参数进行签名后以XML发送到微信的退款API [https://api.mch.weixin.qq.com/pay/refund](https://api.mch.weixin.qq.com/pay/refund)
退款请求需要的参数如下(多个参数在支付API请求时也有使用):
小程序 appid。
商户号 mch_id 。申请开通微信支付商户认证成功后微信发给你的邮件里有
商户订单号 out_trade_no 。退款订单在支付时生成的订单号
退款订单号 out_refund_no 。由后端生成的退款单号,需要保证唯一,因为多个同样的退款单号只会退款一次。
总金额 total_fee 。订单总金额,单位为分。
退款金额 refund_fee 需要退款的金额,单位同样为分
操作员 op_user_id .与商户号相同即可
随机字符串 nonce_str 。同支付请求
签名 sign 。使用上面的所有参数进行相应处理加密生成签名。(具体处理方式与支付相同,可直接复用。)
三. 退款完成
在发起退款请求后,就可以直接根据请求的响应XML中的
result_code字段来判断退款是否成功,从而对订单状态进行处理和后续操作。不需要像支付那样等待另一个接口的通知来确定请求状态。当然如上文所说,如果需要微信服务器发送通知到后端的话,可以到微信商户平台进行设置。
退款因为流程与支付大同小异,因此退款的PHP类我选择了直接继承支付类,
代码如下,注意区分退款请求方法postXmlSSLCurl和支付请求方法postXmlCurl的区别,这也就是上文提到的退款需要的双向证书的使用。
class WinXinRefund extends WeiXinPay{
protected \$SSLCERT_PATH = 'cert/apiclient_cert.pem';//证书路径
protected \$SSLKEY_PATH =
'cert/apiclient_key.pem';//证书路径
protected \$opUserId = '';//商户号
function __construct($openid,$outTradeNo,$totalFee,$outRefundNo,$refundFee){
//初始化退款类需要的变量
$this-&openid = $
$this-&outTradeNo = $outTradeNo;
$this-&totalFee = $totalF
$this-&outRefundNo = $outRefundNo;
$this-&refundFee = $refundF
public function refund(){
//对外暴露的退款接口
$result = $this-&wxrefundapi();
private function wxrefundapi(){
//通过微信api进行退款流程
$parma = array(
'appid'=& $this-&APPID,
'mch_id'=& $this-&MCHID,
'nonce_str'=& $this-&createNoncestr(),
'out_refund_no'=& $this-&outRefundNo,
'out_trade_no'=& $this-&outTradeNo,
'total_fee'=& $this-&totalFee,
'refund_fee'=& $this-&refundFee,
'op_user_id' =& $this-&opUserId,
$parma['sign'] = $this-&getSign($parma);
$xmldata = $this-&arrayToXml($parma);
$xmlresult = $this-&postXmlSSLCurl($xmldata,'https://api.mch.weixin.qq.com/secapi/pay/refund');
$result = $this-&xmlToArray($xmlresult);
//需要使用证书的请求
function postXmlSSLCurl($xml,$url,$second=30)
$ch = curl_init();
//超时时间
curl_setopt($ch,CURLOPT_TIMEOUT,$second);
//这里设置代理,如果有的话
//curl_setopt($ch,CURLOPT_PROXY, '8.8.8.8');
//curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
//设置header
curl_setopt($ch,CURLOPT_HEADER,FALSE);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
//设置证书
//使用证书:cert 与 key 分别属于两个.pem文件
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT, $this-&SSLCERT_PATH);
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY, $this-&SSLKEY_PATH);
//post提交方式
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);
$data = curl_exec($ch);
//返回结果
if($data){
curl_close($ch);
$error = curl_errno($ch);
echo &curl出错,错误码:$error&.&&br&&;
curl_close($ch);
以上就是关于微信支付和退款的流程及相关知识的介绍。文中的 PHP类 均封装直接可用。
因为微信支付和退款涉及的东西较为繁杂,很多人直接看官方文档可能会一头雾水,所以看过此文了解流程和要点后,再去看微信官方文档。一方面可以更清晰的了解小程序的支付和退款流程。另一方面,本文因为篇幅有限及作者能力有限,肯定有无暇顾及或有所纰漏之处。为求稳妥,还是需要多看看官方开发文档。毕竟事涉支付,出个BUG可不是小事。
最后扯点闲话吧。这篇博客本来应该在三个月前就发表的,也算当时我从一无所知到独立完成微信小程序商城前后端的总结系列的第一篇。但是公司突然出现人员和项目的变动,导致管理和项目上都混乱不堪,再加上个人的惰性,导致此篇博客一直拖到三个月后的今天才断断续续写完。这三个月我的心态因为各种事起起伏伏,也颇有一番风味。
借用李志的一句歌词结束这篇博客吧。下一篇是什么时候也说不定了,我苦笑。
我再也不会把自己,愚蠢的交给过去。我的生活和我的想法,从此相隔万里。
阅读(...) 评论()微信小程序大家都知道,听说里面有公安退款系统?微信小程序大家都知道,听说里面有公安退款系统?浦东网警巡查执法百家号浦东网警重要的事写在最前面警方不接受网上报案,如上图所示,一切微信、QQ平台内所谓的【网警报案】、【在线报警】等账号皆为非法账号,请广大网民悉知,谨防被骗!近期又发生了网民遭遇诈骗后,再次被假冒网警二次诈骗,性质非常恶劣,令人深恶痛绝!家住广西的胡女士听信朋友介绍,在某线上理财平台投资9000元被骗,心急的胡女士“有病乱投医”,打算自行在网上找网警帮忙,很快,她在网页上搜索到了一个“网警”的联系方式,并将他加为好友。在简单的案件描述后,该名“网警”让胡女士稍安勿躁,几分钟后便声称已经冻结了该收款人的账户,但是被冻结的账户上有18000元,如果要返还给胡女士,需要先将那多出的9000元付给他。一听到要交钱,胡女士立马提高了警惕,可是,接下来这个“网警”的一席话又让她放心了许多。他发给胡女士一个小程序的二维码,上面显示着“公安退款系统”,扫描后可进入腾讯的某个小程序,主体信息清楚的写着腾讯的公司认证信息。这名“网警”信誓旦旦地说“这是腾讯认证的公安系统,钱会先进入腾讯公司,届时会将18000元全数返还,不可能有假。”于是,胡女士又重新相信了这名“网警”。在“网警”的指引下,将9000元转入“系统”。结果没过多久,对方就将胡女士删除好友了...对于腾讯认证这个小程序的事,微信表示:所谓的主体信息认证,是认证这个小程序,不是认证这个“活动圈”!因此,骗子正是利用了腾讯一个可收款的小程序,自行创建了收款“活动圈”,将“活动圈”名称改为“公安退款系统”,从而实施诈骗。最终钱还是会转入骗子的账户!警方提醒骗子的这波操作,可谓是脑洞大开,并且成功地抓住了微信小程序里的漏洞,迷惑性极强!如不幸遭遇了网络诈骗,请拨打110报警或者前往派出所报案。网警不会通过个人QQ、微信办案,更不可能提前索要金钱!“广大网民注意甄别这些“高仿”、“假冒”网警账号,警方也将进一步打击网上此类冒充网警的违法犯罪行为。”还有两点你需要知道:一、网警账号是做什么的?网警账号作为公安机关网安部门开展互联网巡查执法的官方账号,用于开展7X24小时不间断的巡查执法、查处网络谣言、涉恐涉爆等网络违法犯罪行为,并接受网民关于各类网络违法犯罪线索的举报。无论是新浪微博、百度贴吧,还是微信公众号内,网警账号都经过官方认证,不存在个人账号及未认证账号!正牌网警是这样的:二、为什么不能通过网络报案?根据《中华人民共和国刑事诉讼法》规定,报案需要制作笔录,经报案人确认无误后签字。目前,公安机关尚未开通电话、网络等渠道的报案途径,也无法在不见其人的情况下制作笔录。另外,微信也发出提醒:如果在网络上遇到了仿冒公检法的个人QQ、微信,请立即通过微信客户端、“腾讯110”、110.qq.com、“腾讯举报受理中心”小程序举报,将这些不法分子一网打尽!内容来源:微信110浦东网警微博:浦东网警守护互联网安全本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。浦东网警巡查执法百家号最近更新:简介:上海公安局浦东分局网络安全保卫支队百家号作者最新文章相关文章微信客户端授权登录开始邀请第三方应用内测了,我们虽然是个创业团队,但很幸运的成为了该功能的早期内测用户,经过半年多的试用,积累了不少的经验和教训,分享出来,希望对大家有所帮助。 微信授权登录的优势有哪些?1. 数亿微信用户直接登录, 免去繁琐注册流程。2. 支持获取用户基本信息,免去用户填写个人资料的烦恼,并且内容真实可靠。 一个iOS应用使用微信授权登录的过程应该是怎样的?申请微信授权登录&微信sdk接入&多应用账号打通&提交AppStore审核&上线 为什么提交AppStore审核也列入了这个过程?因为这里坑最多,我们一开始缺乏经验,足足在这步浪费了差不多两个月的宝贵时间! 下面,我们就按照这个过程,逐一进行介绍。 第一步:申请微信授权登录 微信授权登录的申请条件?只要应用已经获得了微信支付的权限,就可以提交申请。 具体怎么申请,官方有很详细的介绍,这也不是本文的重点,所以就直接略过了。附上微信开放平台的地址:https://open.weixin.qq.com/ 在这里要重点指出的是:1. 客户端的授权登录是在微信开放平台申请的。2. web端的授权登录除了要在微信开放平台申请外,还要申请微信公众平台的服务号并完成认证,获取高级接口的访问权限。修正:微信的伙伴们反馈了最新的进展,web端的授权登录现在可以不用公众号了。 第二步:微信sdk接入 如果你的申请被通过,会得到一个包含有微信授权登录的SDK包,这个包同时也包含了基础的分享功能。具体的接入方法,微信会在SDK包中提供详细的说明文档,按照文档进行接入即可。 在这里要重点指出的是:1. 授权成功后返回的OpenID仅仅是应用内唯一标识,同一用户在不同应用进行授权,返回的OpenID是不一样的!2. 即使是同一个应用,同一个用户在移动应用授权登录和在web应用授权登录,返回的OpenID也是不一样的! OpenID都不一样,那我的产品是一系列应用,想统一账号怎么办?别急,继续往下看,微信已经提供了解决方案的。 第三步:多应用打账号打通 如果你们的产品是一个系列应用,又或者同时有移动应用和web应用,那么按照微信的规定,每个应用都必须在开放平台进行登记和审核(需要绑定包名,所以不能多个应用使用同一个签名),这也就意味着这些应用每个都是独立的应用!前面说过,这样会导致这一系列应用当用户授权后,返回的OpenID都不一样,无法唯一标识用户!这时就需要使用UnionID机制来解决这个问题。 UnionID使用规则如下:1. 同一个授权用户,在同一个开放平台账号下的应用中进行授权,返回的UnionID是相同的。2. 同一个授权用户,在绑定到同一个开放平台账号下的公众账号进行授权,返回的UnionID是相同的。这下多应用账户打通的问题就彻底的解决了吧! 第四步:提交AppStore审核 本来不该写这个环节的,因为这个环节貌似跟微信授权登录没什么关系,但其实这里才是本文最最最重要的地方,这里真的是坑多且深啊,我们足足在这里耗了两个月左右... 当我们[第一次]满心欢喜的以国内少数几个(现在我怀疑就是第一个!)仅支持微信授权登录应用的姿态,把应用提交到AppStore审核两周后,得到了我们的第一个拒绝通过的审核理由:你们的微信登录按钮点了没反应! 微信登录按钮为什么会没反应?我们可是经过了充分的测试了呀!特别是微信授权登录流程,更是测的不能更细致了!最后我们发现,这个登录按钮如果想没反应,那一定要做一件事情:卸载微信!好吧,是我们的问题,作为一个创业团队,没有配专职的测试人员,测试经验不足,遗漏了这一步,让苹果大神您测出来了,我们认了! 我们立刻为微信登录按钮添加了微信是否安装的检测,如果检测到微信没有安装,那我们就弹出对一个提示框,提示用户要去下载微信,而且提示框还提供了直接跳到AppStore下载微信的按钮,我们甚至还贴心的添加了英文版的提示框(因为AppStore拒绝我们通过的理由中的截图是英文版的系统)。 这下我们信心满满的[第二次]向AppStore提交审核,差不多两周后得到了我们的第二个拒绝通过的审核理由:你们应用设置了太高的门槛,必须要安装微信才能登录和使用你们的应用!你们要么使用自己的用户授权认证系统,要么让你们目前的登录不需要安装微信就可以使用。 我们郁闷,我们不服,我们去申诉:我们使用微信授权登录是为了提供更好的,是为了避免用户输入个人资料的繁琐过程呀! 申诉结果在五天后反馈到了我们:我们仔细阅读了你们的申诉内容,但是还是认为你们应用设置了太高的门槛,必须要安装微信才能登录和使用你们的应用!你们要么使用自己的授权认证系统,要么让你们目前的登录不需要安装微信就可以使用。 好吧,我们屈服了,我们作为一个创业团队,无法让微信授权登录的sdk在未安装微信的时候,可以跳转到web页面进行授权,我们只好用了两天时间开发了基于手机号和验证码的注册登录系统,开始[第三次]向AppStroe提交审核。这次的审核用了一周多的时间,审核的速度是快起来了,可是还是悲剧了!理由甚至都没变:你们应用设置了太高的门槛,必须要安装微信才能登录和使用你们的应用!你们要么使用自己的用户授权认证系统,要么让你们目前的登录不需要安装微信就可以使用。 这次我们彻底愤怒了,增加了那么明显的手机号验证码授权登录界面啊,审核大哥你不可能没看到啊,居然还用同样的理由拒绝我们,太过分了吧!这次我们使用了更为强烈的措辞进行了申诉,申诉结果在提交后的第四天得到了反馈:我们注意到了你们已经提供了自己的用户授权认证系统,但是你们使用的微信授权登录设置了太高的门槛,必须要安装微信才能登录和使用你们的应用!你们要么使用自己的用户授权认证系统,要么让你们目前的登录不需要安装微信就可以使用。 当时我们都无语了,审核大哥你要不要做的这么绝啊!我们当时甚至萌生了要不索性把微信授权登录去掉,换成微博授权登录念头!最终,我们决定做最后一次尝试,就是应用在登录的时候,主动检测微信是否有安装,如果没有安装的话,直接把微信的授权登录按钮隐藏掉,只保留我们自己的注册登录功能!这是我们[第四次]向AppStore提交审核,心里剩下的只有忐忑......六天后,审核通过了!审核终于通过了!喜极而泣啊! 回想整个应用提交AppStore审核过程,耗时近乎两个月,从世界杯前硬生生被拖到世界杯彻底结束,我们的应用是个专注宵夜应用啊,世界杯过了,我们的推广难了n倍啊!希望大家看了我们的经历,能够吸取教训,不要重蹈我们的覆辙! 以上就是我们应用使用微信授权登录提交AppStore审核的过程。
24小时报不停
刘强东悉尼私人晚宴一名富豪嘉宾被控性侵女模
阿里巴巴与AI创业公司Megvii进行一轮融资
美媒:中国投资在以色列“相当受欢迎”
快手正进行新一轮10亿美元融资,投后估值在180亿美元
北京将新设跨境电商综合试验区
传哈罗单车将完成10亿美元融资 官方:不予置评
传王思聪的熊猫直播拟作价30亿元寻求买手
长生生物暴雷前出现密集大宗交易 3亿神秘资金出逃
任志强:我不觉得房地产会崩盘
小米上市后首次任命高管
摩拜单车免扫码解锁功能上线
手机“靠一靠”无需扫码即可开锁
海澜之家宣布入驻美团外卖,承诺一小时达
小米正式发布米家互联网空调,售价2199元
长生生物:积极配合药品监管部门对生产、质控体系开展全面自查
人社部:截至6月,3716.5亿养老金已到账并开始投资
工信部向阿里巴巴、小米等15家企业发放虚拟运营商正式牌照
与美国意见相反,欧洲在G20上敦促征收数字经济税
拼多多被指强制冻结商家资金 罚款去向成谜
纽约判定Uber司机为正式员工 享受失业福利
京东方争取为苹果供应OLED显示屏:2020年达到目标
理享家再获千万美金战略投资,启动香港上市成为海外资产配置第一股
上海璞灏科技完成近千万天使轮融资,主打时尚潮流生活
特斯拉要求供应商返还现金助其盈利 引发现金流担忧
长生生物官网被黑客攻击
Snap关停支付服务:支付App竞争太激烈 Snap难以出头
法国科技公司Atos SE将收购Syntel 每股作价41美元
软银计划年底在日本启动支付业务:与印度Paytm合作
袁隆平团队在迪拜成功试种“沙漠海水稻”
美国参议院放弃制裁中兴修正案 但禁美政府采购
SapceX火箭再次发射升空 第26次成功回收助推器}

我要回帖

更多关于 微信充q币退款步骤 的文章

更多推荐

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

点击添加站长微信