AFServiceCenter.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // AFServiceCenter.h
  3. // AFServiceSDK
  4. //
  5. // Created by jiajunchen on 02/01/2018.
  6. // Copyright © 2018 antfin. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class AFServiceResponse;
  10. /**
  11. SDK支持的业务枚举值
  12. - AFServiceEInvoice: 电子发票
  13. - AFServiceAuth: 账户授权
  14. */
  15. typedef NS_ENUM(NSUInteger, AFService) {
  16. AFServiceEInvoice,
  17. AFServiceAuth,
  18. AFServiceDeduct
  19. };
  20. extern NSString * const kAFServiceOptionBizParams; // 钱包服务调用入参
  21. extern NSString * const kAFServiceOptionCallbackScheme; // 业务回跳当前app的scheme
  22. extern NSString * const kAFServiceOptionNotUseLanding; // 不使用支付宝提示下载页做补偿,为true时需要商户自己处理用户未安装支付宝的情况
  23. extern NSString * const kAFServiceBizParamsKeyUrl; // 独立签约入参url
  24. typedef void(^AFServiceResultBlock)(AFServiceResponse *response);
  25. @interface AFServiceCenter : NSObject
  26. /**
  27. 调用钱包服务
  28. @param service 业务service, 见AFService枚举值
  29. @param params 参数Dictionary, key值详情参见kAFServiceOptionBizParams、kAFServiceOptionCallbackScheme注释
  30. @param block 业务结果回调的block, block参数是AFServiceResponse类型,业务结果通过result属性获取,如果未用户未安装支付宝并且kAFServiceOptionNotUseLanding未设置为true,会使用H5landing页做补偿,这种情况下不会有block回调结果。
  31. */
  32. + (void)callService:(AFService)service
  33. withParams:(NSDictionary *)params
  34. andCompletion:(AFServiceResultBlock)block;
  35. /**
  36. 处理钱包服务回跳APP的URL
  37. @param url 回跳URL
  38. @param block 业务结果回掉的block,详情见调用接口入参上的block。注意此接口上的block只有在跳转钱包后,当前APP被系统回收的情况下回跳才生效
  39. */
  40. + (void)handleResponseURL:(NSURL *)url
  41. withCompletion:(AFServiceResultBlock)block;
  42. @end