天天看點

h5支付不能打開支付寶 ios_iOS 手機網站支付轉Native支付(H5支付頁面調起支付寶用戶端(app)) 文章将會自動儲存至草稿 更新...

為了節約開發成本,很多Native-H5混合App采用手機網站支付的方式去實作支付子產品。但手機網站支付的網絡依賴比較嚴重,也通常需要經過更多的驗證,這種種原因導緻手機網站支付的成功率比Native支付低,對商戶的利益造成影響。

一:導入sdk流程如下:

1.下載下傳sdk,把iOS包中的壓縮檔案中以下檔案拷貝到項目檔案夾下,并導入到項目工程中。

AlipaySDK.bundle

AlipaySDK.framework

2.在Build Phases頁籤的Link Binary With Libraries中,增加以下依賴:

h5支付不能打開支付寶 ios_iOS 手機網站支付轉Native支付(H5支付頁面調起支付寶用戶端(app)) 文章将會自動儲存至草稿 更新...

注意:

如果是Xcode 7.0之後的版本,需要添加libc++.tbd、libz.tbd;

如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib。

二:使用說明:

1.在需要調用AlipaySDK的檔案中,增加頭檔案引用。

#import

2.調用接口

[[AlipaySDK defaultService]fetchOrderInfoFromH5PayUrl:url]

3.實作UIWebViewDelegate協定,攔截H5的URL(如果使用WKUIDelegate協定,請點選檢視)

如果傳回的resultCode為9000,接入方可以提示使用者支付成功;傳回結果不是9000的情況,無需做任何處理。如果returnUrl不為空,建議接入方跳轉到該returnUrl。

```

(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

NSString* orderInfo = [[AlipaySDK defaultService]fetchOrderInfoFromH5PayUrl:[request.URL absoluteString]];

if (orderInfo.length > 0) {

// 調用支付接口進行支付

[[AlipaySDK defaultService]payUrlOrder:orderInfo fromScheme:@"alisdkdemo" callback:^(NSDictionary* result) {

// 處理傳回結果

NSString* resultCode = result[@"resultCode"];

//建議操作: 根據resultCode做處理