{\rtf1\ansi\ansicpg936\cocoartf2639 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset134 PingFangSC-Semibold;\f1\fnil\fcharset0 HelveticaNeue;\f2\fnil\fcharset134 PingFangSC-Regular; \f3\fnil\fcharset0 HelveticaNeue-Bold;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} {\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{circle\}}{\leveltext\leveltemplateid1\'01\uc0\u9702 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1} {\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{circle\}}{\leveltext\leveltemplateid101\'01\uc0\u9702 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}} {\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}} \paperw11900\paperh16840\margl1440\margr1440\vieww18400\viewh12200\viewkind0 \deftab560 \pard\pardeftab560\partightenfactor0 \f0\b\fs40 \cf0 \'b4\'f2\'b0\'fc\'bb\'ec\'cf\'fd\'b4\'fa\'c2\'eb\'c1\'f7\'b3\'cc \ \pard\pardeftab560\slleading20\partightenfactor0 \f1\b0\fs26 \cf0 0. \f2 \'c8\'b7\'c8\'cf\'c7\'fe\'b5\'c0\'ba\'cd\'bb\'b7\'be\'b3\'a3\'ac\'b4\'f2\'b0\'fc\'b7\'a2\'b2\'bc \f3\b\fs40 \ \f1\b0\fs26 1. \f2 \'ca\'b9\'d3\'c3\'d7\'ee\'d0\'c2\'b4\'fa\'c2\'eb\'b7\'c5\'bd\'f8\'b7\'a2\'b2\'bc\'ce\'c4\'bc\'fe\'bc\'d0\'cf\'c2 \f1 \ 2. \f2 \'c9\'be\'b3\'fd\'b4\'f8\'d3\'d0\'b5\'da\'c8\'fd\'b7\'bd\'d6\'a7\'b8\'b6\'b9\'a6\'c4\'dc\'b5\'c4 \f1 SDK \f2 \'b4\'f2\'bf\'aa\'b9\'a4\'b3\'cc\'c9\'be\'b3\'fd \f1 Class->ThirdParty->SocialSDK->Pay \f2 \'ce\'c4\'bc\'fe \f1 \f2 \'cc\'ed\'bc\'d3 \f1 NoPay \f2 \'ce\'c4\'bc\'fe \f1 \ 3. \f2 \'c9\'be\'b3\'fd\'b4\'f8\'d3\'d0\'b5\'da\'c8\'fd\'b7\'bd\'d6\'a7\'b8\'b6\'b9\'a6\'c4\'dc\'b5\'c4\'b4\'fa\'c2\'eb\ \f1 \f2 \'a1\'a3 \f1 AppDelegate.m SDK \f2 \'cd\'b7\'ce\'c4\'bc\'fe\'d2\'fd\'d3\'c3 \f1 #import \ \f2 \'a1\'a3 \f1 AppDelegate.m \f2 \'c9\'be\'b3\'fd\'d6\'a7\'b8\'b6\'b1\'a6\'bb\'d8\'b5\'f7\'b4\'fa\'c2\'eb \f1 handleOpenURL\ \f2 \'c9\'be\'b3\'fd\'d6\'a7\'b8\'b6\'b1\'a6\'cc\'f8\'d7\'aa\'b4\'fa\'c2\'eb \f1 \ - ( \f3\b BOOL \f1\b0 )application:(UIApplication *)application handleOpenURL:(NSURL *)url \{\ \f3\b if \f1\b0 ([url.host isEqualToString:@"safepay"]) \{\ // \f2 \'cc\'f8\'d7\'aa\'d6\'a7\'b8\'b6\'b1\'a6\'c7\'ae\'b0\'fc\'bd\'f8\'d0\'d0\'d6\'a7\'b8\'b6\'a3\'ac\'b4\'a6\'c0\'ed\'d6\'a7\'b8\'b6\'bd\'e1\'b9\'fb \f1 \ [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) \{\ NSLog(@"result = %@",resultDic);\ [NotificationCenter postNotificationName:ALI_APP_PAY_NOTIFICATION object: \f3\b nil \f1\b0 userInfo:resultDic];\ \}];\ \}\ // \f2 \'d5\'e2\'c0\'ef\'bf\'c9\'d2\'d4\'c5\'d0\'b6\'cf\'ca\'c7\'b7\'f1\'ca\'c7\'c9\'e7\'bd\'bb\'c0\'e0 \f1 url\ \f3\b return \f1\b0 [[XYSocialRegisterHandler sharedInstance] application:application handleOpenURL:url];\ \}\ \ - ( \f3\b BOOL \f1\b0 )application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:( \f3\b id \f1\b0 )annotation \{\ \f3\b if \f1\b0 ([url.host isEqualToString:@"safepay"]) \{\ // \f2 \'cc\'f8\'d7\'aa\'d6\'a7\'b8\'b6\'b1\'a6\'c7\'ae\'b0\'fc\'bd\'f8\'d0\'d0\'d6\'a7\'b8\'b6\'a3\'ac\'b4\'a6\'c0\'ed\'d6\'a7\'b8\'b6\'bd\'e1\'b9\'fb \f1 \ [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) \{\ NSLog(@"result = %@",resultDic);\ [NotificationCenter postNotificationName:ALI_APP_PAY_NOTIFICATION object: \f3\b nil \f1\b0 userInfo:resultDic];\ \}];\ \}\ // \f2 \'d5\'e2\'c0\'ef\'bf\'c9\'d2\'d4\'c5\'d0\'b6\'cf\'ca\'c7\'b7\'f1\'ca\'c7\'c9\'e7\'bd\'bb\'c0\'e0 \f1 url\ \f3\b return \f1\b0 [[XYSocialRegisterHandler sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];\ \}\ \pard\pardeftab560\pardirnatural\partightenfactor0 \ls1\ilvl0\cf0 \ \pard\pardeftab560\slleading20\partightenfactor0 \f2 \cf0 \'c9\'be\'b3\'fd \f1 XYPayHelpler \f2 \'ce\'c4\'bc\'fe \f1 \f2 \'c2\'b7\'be\'b6\'a3\'ba \f1 Class->Base->Utils->Pay\ XYPayManager \f2 \'c0\'e0\'d6\'d0\'c9\'be\'b3\'fd \f1 XYPayHelpler \f2 \'c0\'e0\'cf\'e0\'b9\'d8\'b4\'fa\'c2\'eb \f1 \ \pard\pardeftab560\pardirnatural\partightenfactor0 \ls2\ilvl0 \f2 \cf0 \'c9\'be\'b3\'fd\'ce\'a2\'d0\'c5\'d6\'a7\'b8\'b6\'bb\'d8\'b5\'f7\'b4\'fa\'c2\'eb \f1 XYSocialRegisterHandler \f2 \'a3\'ac \f1 Social \f2 \'ce\'c4\'bc\'fe\'bc\'d0 \f1 \ \pard\pardeftab560\slleading20\partightenfactor0 \cf0 // \f2 \'d6\'a7\'b8\'b6\'cf\'e0\'b9\'d8\'bb\'d8\'b5\'f7 \f1 \ \f3\b else \f1\b0 \f3\b if \f1\b0 ([resp isKindOfClass:[WXNontaxPayResp class]])\{\ \ \} \f3\b else \f1\b0 \f3\b if \f1\b0 ([resp isKindOfClass:[WXPayInsuranceResp class]])\{\ \ \} \f3\b else \f1\b0 \f3\b if \f1\b0 ([resp isKindOfClass:[PayResp class]]) \{\ \ [SVProgressHUD dismiss];\ // \f2 \'c5\'e4\'d6\'c3\'b3\'c9\'d3\'eb\'d6\'a7\'b8\'b6\'b1\'a6\'d2\'bb\'d1\'f9\'b5\'c4\'bd\'e1\'b9\'fb \f1 \ NSInteger resultStatus = resp.errCode;\ NSString *resultMessage = resp.errStr?resp.errStr:@"";\ \f3\b if \f1\b0 (StringIsEmpty(resultMessage)) \{\ \f3\b switch \f1\b0 (resp.errCode) \{\ \f3\b case \f1\b0 WXSuccess:\ resultMessage = kLocalizedString(@" \f2 \'d6\'a7\'b8\'b6\'b3\'c9\'b9\'a6 \f1 ");\ \f3\b break \f1\b0 ;\ \f3\b case \f1\b0 WXErrCodeUserCancel:\ resultMessage = kLocalizedString(@" \f2 \'d6\'a7\'b8\'b6\'c8\'a1\'cf\'fb \f1 ");\ \f3\b break \f1\b0 ;\ \f3\b default \f1\b0 :\ resultMessage = kLocalizedString(@" \f2 \'d6\'a7\'b8\'b6\'ca\'a7\'b0\'dc \f1 ");\ \f3\b break \f1\b0 ;\ \}\ \}\ [NotificationCenter postNotificationName:WECAHT_APP_PAY_NOTIFICATION object: \f3\b nil \f1\b0 userInfo:@\{@"resultStatus" : @(resultStatus), @"resultMessage":resultMessage\}];\ \}\ 4. \f2 \'bb\'ec\'cf\'fd\'b4\'fa\'c2\'eb \f1 \ \ 438197544812544\ \pard\pardeftab560\slleading20\pardirnatural\partightenfactor0 \cf0 \ \pard\pardeftab560\slleading20\partightenfactor0 \f2 \cf0 \'c6\'f3\'d2\'b5\'b0\'e6\'c8\'ab\'bf\'aa\'b7\'a2 \f1 \ appstore \f2 \'b0\'e6\'a3\'ac\'c9\'d9\'ba\'dc\'b6\'e0\'b9\'a6\'c4\'dc \f1 \ \f2 \'b6\'b6\'d2\'f4\'b0\'e6\'c9\'d9\'bf\'aa\'ba\'da \f1 \ 1 3 4 5 \ 1 4 6 7 \ }