iOS银联支付的流程

IOS银联支付的流程

iOS银联支付的流程_第1张图片

流程图说明:

(1)用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;

(2)商户后台收到订单生成请求后,按照《UPMP 商户接入接口规范》组织并推送订单信息至银联后台;

(3)银联后台接收订单信息并检查通过后,生成对应交易流水号(即 TN),并回复交易流水号至商户后台(应答要素:交易流水号等);

(4)商户后台接收到交易流水号,将交易流水号返回给客户端;

page5image1016

(5)客户端通过交易流水号(TN)调用支付控件;

(6)用户在支付控件中输入相关支付信息后,由支付控件向银联后台发起支付请求;

(7)支付成功后,银联后台将支付结果通知给商户后台;

(8)银联将支付结果通知支付控件;

(9)支付控件显示支付结果并将支付结果返回给客户端; 


二,银联支付集成

a)  根据商户选择的SDK版本,将sdk/inc目录和sdk/libs目录下对应版本的三个文件添加到 UPPayDemo 工程中

b)  如 果 你 选 择 的 是 UPPayPlugin 版 本 , 添 加 QuartzCore.framework Security.framework 到工程中;

c)  如 果 你 选 择 的 是 UPPayPluginPro 版 本 , 添 加 QuartzCore.framework AudioToolbox.framework, CoreAudio.framework 、 MediaPlayer.framework,AVFoundation.framework 和 Security.framework 到工程中;

d)  在工程的 Build Settings 中找到 Other Linker Flags 中添加-ObjC 宏; 


三,接口说明

+  (BOOL)startPay:(NSString*)tn
             mode:(NSString*)mode
   viewController:(UIViewController*)viewController
         delegate:(id<UPPayPluginDelegate>)delegate;
iOS银联支付的流程_第2张图片

四, 调用插件

a)  在需要调用支付控件的源文件内引用头文件 UPPayPlugin.h 或 UPPayPluginPro.h(注意:如果工程的compile source as 选项的值不是 ObjectiveC++,则引用此头文件的文件类型都要改为.mm)

b)  通过调用

      + (BOOL)startPay:(NSString*)tn 

 mode:(NSString*)mode 

viewController:(UIViewController*)viewController

          delegate:(id<UPPayPluginDelegate>)delegate

    实现控件的调用

c)  处理支付结果

银联手机支付控件有三个支付状态返回值:successfailcancel,分别代表:支付成功、支付失败、用户取消支付。这三个返回状态值以字符串的形式作为回调函数参数(NSString*)result 返回。通过在工程中添加头文件“UPPayPluginDelegate.h”,在处理交易结果的界面,实现 UPPayPluginDelegate接口,根据该头文件中的回调函数:-(void)UPPayPluginResult:(NSString*)result来实现回调方法,从而可以根据支付结果的不同进行相关的处理。 

你可能感兴趣的:(iOS银联支付的流程)