* ## 第三方支付權限申請
### 微信支付
進入微信支付官網申請App支付權限 [微信支付](https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN)
1、項目設置APPID
商戶在微信開放平臺申請開發APP應用后,微信開放平臺會生成APP的唯一標識APPID。在Xcode中打開項目,設置項目屬性中的URL Schemes為您的APPID。如圖

2、注冊APPID
商戶APP工程中引入微信lib庫和頭文件,調用API前,需要先向微信注冊您的APPID,代碼如下:
`[WXApi registerApp:WXAPPID];`
3、調起支付
商戶服務器生成支付訂單,先調用【統一下單API】生成預付單,獲取到prepay_id后將參數再次簽名傳輸給APP發起支付。以下是調起微信支付的關鍵代碼:
PayReq *request = [[[PayReq alloc] init] autorelease];
request.partnerId = @"10000100";
request.prepayId= @"1101000000140415649af9fc314aa427";
request.package = @"Sign=WXPay";
request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";
request.timeStamp= @"1397527777";
request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";
[WXApi sendReq:request];
注意:該sign生成字段名列表見調起支付API
4、支付結果回調
照微信SDK Sample,在類實現onResp函數,支付完成后,微信APP會返回到商戶APP并回調onResp函數,開發者需要在該函數中接收通知,判斷返回錯誤碼,如果支付成功則去后臺查詢支付結果再展示用戶實際支付結果。注意 一定不能以客戶端返回作為用戶支付的結果,應以服務器端的接收的支付通知或查詢API返回的結果為準。代碼示例如下:
-(void)onResp:(BaseResp*)resp{
if ([respisKindOfClass:[PayRespclass]]){
PayResp*response=(PayResp*)resp;
switch(response.errCode){
caseWXSuccess:
//服務器端查詢支付通知或查詢API返回的結果再提示成功
NSlog(@"支付成功");
break;
default:
NSlog(@"支付失敗,retcode=%d",resp.errCode);
break;
}
}
}
回調中errCode值列表:
名稱 描述 解決方案
0 成功 展示成功頁面
-1 錯誤 可能的原因:簽名錯誤、未注冊APPID、項目設置APPID不正確、注冊的APPID與設置的不匹配、其他異常等。
-2 用戶取消 無需處理。發生場景:用戶不支付了,點擊取消,返回APP。
#### 詳細流程請參考微信官方文檔:[微信開放平臺官方文檔](https://pay.weixin.qq.com/guide/inapp_payment.shtml)
### 支付寶支付
進入支付寶開放平臺申請App支付權限 [螞蟻金服開放平臺](https://open.alipay.com/developmentAccess/developmentAccess.htm)
第一步:創建應用并獲取APPID
要在您的應用中接入支付寶App支付能力,需要通過創建應用的方式接入螞蟻相關接口并進行開發,基于對行業及業務場景痛點的理解,創造能夠滿足市場需要的解決方案,以應用的形式服務用戶。
若還未成為開放平臺的入駐服務商或者商戶, 請完成入駐指引。入駐完成后,您需要去螞蟻金服開放平臺(open.alipay.com),在開發者中心中創建您的應用,會為您生成應用唯一標識(APPID),并且可以申請開通開放產品使用權限,通過APPID您的應用才能調用開放產品的接口能力。需要詳細了解開放平臺創建應用步驟請參考《開放平臺應用創建指南》。
在創建應用后即生成應用的標識APPID,使用支付寶賬號登錄開放平臺后,在“我的應用”中按下圖方式查看APPID。

第二步:配置應用
添加app支付功能
應用創建完成后,需要給應用添加App支付功能,這樣就可以在你的應用里使用App支付能力。此時該應用為開發中狀態,只能在沙箱環境下進行調試。應用開發完成后,請開發者自行進行驗收和安全性檢查(安全性檢查可參考《開放平臺第三方應用安全開發指南》),驗收檢查完成后可申請上線。應用申請上線后,會同時申請此列表的功能,接口即生效,這個狀態下的應用能夠調用生產環境的接口。
#### 詳細流程請參考支付寶官方文檔:[支付寶開放平臺官方文檔](https://docs.open.alipay.com/204/105297/)
* ## 代碼
#### 設置已申請的微信AppID和Secret
注:一定要和后臺一致

#### 設置URL Schemes
在URL Schemes處設置
微信:填寫AppID
支付寶:申請時的回調

這里設置支付寶的URL Schemes,要和上面一致
