iOS 微信支付接入最新的完整流程

要完成手機(jī)APP跳轉(zhuǎn)到微信的APP進(jìn)行微信支付,需要先進(jìn)行如下操作:

1、先去微信的開(kāi)放平臺(tái)(http://open.weixin.qq.com)進(jìn)行微信開(kāi)發(fā)者賬號(hào)的注冊(cè)(建議公司統(tǒng)一注冊(cè),盡量不要使用私人郵箱)。

2、新建一個(gè)APP應(yīng)用,然后填寫(xiě)必填的信息提交審核,這里 一次性注冊(cè)iOS和安卓?jī)蓚€(gè)版本的APP。

3、查看已創(chuàng)建好的APP應(yīng)用,進(jìn)行申請(qǐng)“ 獲得微信支付能力 ”的功能,需要提交公司真實(shí)的相關(guān)營(yíng)業(yè)執(zhí)照等信息證明。

提交申請(qǐng)后,經(jīng)過(guò)一周左右,基本可以申請(qǐng)下來(lái),沒(méi)有細(xì)節(jié)難點(diǎn),應(yīng)該都能搞定,實(shí)在不行,給你個(gè)機(jī)會(huì),聯(lián)系客服妹子吧!

基本的對(duì)接流程 微信官網(wǎng)的有詳細(xì)的講解? (https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_1

一、服務(wù)器的接入

首先,這一部分后臺(tái)接入,我們只需要根據(jù)后臺(tái)提供的接口,調(diào)用即可。在進(jìn)行服務(wù)端對(duì)接之前,需要用到如下信息:

/* 微信app key 這兩個(gè)就是我們上面申請(qǐng)的APP得到的*/

W_APP_ID

W_APP_SECRET

//商戶(hù)號(hào)

W_MCH_ID--這個(gè)也是需要登錄商戶(hù)平臺(tái)進(jìn)行獲得

//API密鑰,在商戶(hù)平臺(tái)設(shè)置

W_API_KEY--這個(gè)需要登錄商戶(hù)平臺(tái)進(jìn)行獲得

商戶(hù)平臺(tái)的登錄地址(https://pay.weixin.qq.com/index.php

一、.net服務(wù)端的對(duì)接:

1、直接上微信的SDK列表下載.net的SDK(https://pay.weixin.qq.com/wiki/doc/api/download/WxPayAPI_CS_v3.zip

2、要先知道一點(diǎn),下載回來(lái)的SDK是沒(méi)有具體包含“統(tǒng)一下單API”的,只包含了這個(gè)“刷卡支付、微信內(nèi)網(wǎng)頁(yè)支付、掃碼支付”

3、下載回來(lái)的SDK中,第一次運(yùn)行是運(yùn)行不了的,需要對(duì)代碼進(jìn)行設(shè)置

1)對(duì)上面四個(gè)參數(shù)進(jìn)行配置,具體在lib\Config.cs文件中

2)屏蔽掉lib\HttpService.cs的代理訪(fǎng)問(wèn):(這東西基本可以不用使用到)

技術(shù)分享

4、通過(guò)以上的幾步配置,基本可以運(yùn)行了

5、還有一個(gè)點(diǎn),我們點(diǎn)擊Default.aspx頁(yè)面上的按鈕,鏈接過(guò)去的地址要注意一下,其實(shí)不是我們的測(cè)試工程,而是paysdk.weixin.qq.com的,這個(gè)需要改成是我們的測(cè)試功能才行(這個(gè)是比較吭的)。

6、如何對(duì)接“統(tǒng)一下單API”,最基本的做法就是打開(kāi)business\JsApiPay.cs文件,然后拷貝GetUnifiedOrderResult方法直接用,但是如果拷貝這個(gè)方法用的時(shí)候,會(huì)提示“無(wú)權(quán)限調(diào)用”。其實(shí)最根本的錯(cuò)誤在于我們傳遞的trade_type為JSAPI導(dǎo)致的,所以拷貝過(guò)來(lái)使用的時(shí)候,需要做如下的更新:(為什么要這樣了,原因很簡(jiǎn)單,這個(gè)方法的用途本來(lái)就是給JSAPI的,我們是要使用trade_type為APP進(jìn)行調(diào)用,這些參數(shù)當(dāng)然要變拉)


只要這些字段即可,其余的可有可無(wú),都不影響,到了這點(diǎn),你運(yùn)行“統(tǒng)一下單”功能,就會(huì)返回prepay_id了,也就是支付ID。

至此,通過(guò)這些設(shè)置,基本都可能成功。

二、iOS的對(duì)接

最常見(jiàn)的問(wèn)題就是,我把官方的請(qǐng)求地址換成了自己之后,點(diǎn)擊支付測(cè)試,跳轉(zhuǎn)到微信支付的頁(yè)面時(shí),中間就只出現(xiàn)了一個(gè)“確定”按鈕,點(diǎn)擊之后返回到原APP,提示“支付失敗,xxx -2”這樣的提示。

1、如果你有這些提示了,我可以很肯定的告訴你,你的sign錯(cuò)了,而且是用錯(cuò)了,你不應(yīng)該直接用服務(wù)端返回的sign,這個(gè)根本不是一回事。

2、切記,客戶(hù)端的sign字段,是要自己生成的,當(dāng)然服務(wù)端哥們給力的話(huà),也可以,記得協(xié)商好哈。

3、還要切記,服務(wù)端返回的那一串json,最有用而且最優(yōu)價(jià)值的就唯一一個(gè)prepay_id,其余的基本不需要。

4、官方的iOS SDK中,包含了兩個(gè)方法(sendpay_demo、sendpay),這也是最容易錯(cuò)的,我們?cè)趯?duì)接的時(shí)候,選擇sendpay的方法,也就是這個(gè):


這個(gè)方法的東西其實(shí)是不完整,最明顯,我們把網(wǎng)絡(luò)請(qǐng)求改了之后,再把所用到的參數(shù)賦值,然后就沒(méi)有然后了,根本調(diào)不起來(lái),壓根就沒(méi)反應(yīng),原因是缺少了package參數(shù)值,這個(gè)是固定的(Sign=WXPay)


5、改了第四點(diǎn)之后,肯定是能調(diào)用起來(lái)的了,但是確不能支付,sign錯(cuò)誤導(dǎo)致的,至此,你應(yīng)該把注意力集中到sendpay_demo的方法中去,不要再使用sendpay方法了

只需要把剛才獲取的prepay_id替換掉,立馬就能正常使用支付功能,如下位置的參數(shù)替換成我們網(wǎng)絡(luò)請(qǐng)求返回的的就行了:

三、iOS9 白名單 微信支付提示未安裝微信 、支付寶不跳轉(zhuǎn)客戶(hù)端支付的解決方案蘋(píng)果公司iOS 9系統(tǒng)策略更新,限制了http協(xié)議的訪(fǎng)問(wèn),此外應(yīng)用需要在“Info.plist”中將要使用的URL Schemes列為白名單,才可正常檢查其他應(yīng)用是否安裝。受此影響,當(dāng)你的應(yīng)用在iOS 9中需要使用微信SDK的相關(guān)能力(分享、收藏、支付、登錄等)時(shí),需要在“Info.plist”里增加如下代碼:

請(qǐng)注意:未升級(jí)到微信6.2.5及以上版本的用戶(hù),在iOS 9下使用到微信相關(guān)功能時(shí),仍可能無(wú)法成功。4總結(jié),希望此篇文章對(duì)正在做微信支付對(duì)接的哥們有幫助,也讓大家少走一些彎路,如果覺(jué)得合適,可以順手點(diǎn)個(gè)贊,以此鼓勵(lì)鼓勵(lì)。thanks

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今日推薦 經(jīng)常閱讀博客是個(gè)好習(xí)慣推薦鴻洋CSDN的博客 微信支付相關(guān)文章 詳細(xì)介紹Android開(kāi)發(fā)集成微信支付(...
    MrQ_Android閱讀 6,281評(píng)論 9 52
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,913評(píng)論 25 709
  • 自己總結(jié)的微信支付寶支付流程和注意點(diǎn): 準(zhǔn)備工作: 需要公司的營(yíng)業(yè)執(zhí)照,稅務(wù)信息,等老板的身份證信息等,我記得,用...
    Www劉閱讀 18,680評(píng)論 2 50
  • 我用什么留住你? 想給你日暮的海風(fēng)、 凌晨的街道、 擱淺游輪上熔金的日輝。 我給你一個(gè)久久守望歸帆者的寧?kù)o。
    曄興閱讀 223評(píng)論 0 6
  • 低頭不語(yǔ),檢討自己寫(xiě)文章中...... (一) 沒(méi)有深度。 對(duì)事物的分析,總是停留在形容詞層面,不能往下挖掘出一些...
    3cefeff33c29閱讀 304評(píng)論 1 3

友情鏈接更多精彩內(nèi)容