一、俄罗斯主流支付平台 QIWI 支付的支付流程
因为工作中需要使用 俄罗斯的 QIWI支付,在使用的过程中,也简单整理了一下QIWI支付的流程,在这里分享一下:
1,构造订单数据
包括订单金额值,订单的币种,支付有效期,另外特别不一样的是在此步必须带上QIWI的支付账号)将以上数据发送给QIWI服务器地址:https://w.qiwi.com/api/v2/prv/商家ID/bills/订单ID
2,上面一步如果支付订单创建成功
用户可组装支付的地址,格式:https://w.qiwi.com/order/external/main.action?shop=商家ID&transaction=流水ID&successUrl=成功跳转页&failUrl=失败跳转页。让用户跳转至此地址输入QIWI的支付密码,支付成功的话则会跳转进入successUrl地址,在QIWI的后台设置里可以设置是否开启nofity,如果开启则在第2步成功后自动调用设置里的通知地址。
3,跳转到时successUrl后
在后台调用https://w.qiwi.com/api/v2/prv/商家ID/bills/订单ID,来主动请求订单的状态,以判断是否真实完成支付。在这期间需要一些数据:商家ID:在QIWI中登录商家后台后第一项里会有一个6位数的ID值。如下图:
授权ID和密钥:在执行CURL操作时需要用商家的授权ID值的密钥值,
curl_setopt($ch, CURLOPT_USERPWD, $this->rest_id . ':' . $this->rest_pass);
这个值是通过REST接口设置处生成的,见下图:
二、QIWI支付问题Ошибка: Прием платежа для данного провайдера запрещен
在进行俄罗斯支付平台QIWI支付测试时,能成功向QIWI创建订单,然后转到订单支付页面,页面却总是提示:Ошибка: Прием платежа для данного провайдера запрещен,在GOOGLE上搜索了很多俄罗斯文章内容,因为都得翻译过来,加上网上也没有提过有多少解决办法,最后GOOGLE也只有失职了。
错误原文:Ошибка: Прием платежа для данного провайдера запрещен
中文翻译:错误:接收支付服务提供商被禁止
从字面上看吧,我觉得这个问题可能是出在账号的问题上,但和老板说了,也没有想过账号还有什么地方会有问题,因为账号已经通过 QIWI 的审核了,老板也说账号没啥问题了,我也进了QIWI的支付网站登录,把能看到的内容都翻译过来看了看,也没有找到哪里有说要审核之类的。
于是我只好再看看QIWI的文档和支付的程序代码了,最后我还是未发现有什么问题,于是和老板说只能找他们技术客服,找了后才知道QIWI还有一道开通支付的审核,这个通过之后,再进入QIWI的支付界面(前提是已经创建了支付单)。
这个页面的地址类似:https://w.qiwi.com/order/external/main.action?shop=$shop_id&transaction=$bill_id&successUrl=$success_url&failUrl=$fail_url
支付成功后就会跳转到成功的URL:success_url。成功进入后的界面如下:
中文百度搜索时基本搜索不到这个问题的答案,我在这里写篇文章,遇到过的朋友不用再纠结程序代码问题了,找QIWI客服吧。
publish:August 12, 2015 -Wednesday