為了節約開發成本,很多Native-H5混合App采用手機網站支付的方式去實作支付子產品。但手機網站支付的網絡依賴比較嚴重,也通常需要經過更多的驗證,這種種原因導緻手機網站支付的成功率比Native支付低,對商戶的利益造成影響。
一:導入sdk流程如下:
1.下載下傳sdk,把iOS包中的壓縮檔案中以下檔案拷貝到項目檔案夾下,并導入到項目工程中。
AlipaySDK.bundle
AlipaySDK.framework
2.在Build Phases頁籤的Link Binary With Libraries中,增加以下依賴:
注意:
如果是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做處理