AlipaySDK.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. //
  2. // AlipaySDK.h
  3. // AlipaySDK
  4. //
  5. // Created by alipay on 16-12-12.
  6. // Copyright (c) 2016年 Alipay. All rights reserved.
  7. //
  8. ////////////////////////////////////////////////////////
  9. ///////////////// 支付宝标准版本支付SDK ///////////////////
  10. /////////// version:15.4.0 motify:2017.07.06 ///////////
  11. ////////////////////////////////////////////////////////
  12. #import "APayAuthInfo.h"
  13. typedef enum {
  14. ALIPAY_TIDFACTOR_IMEI,
  15. ALIPAY_TIDFACTOR_IMSI,
  16. ALIPAY_TIDFACTOR_TID,
  17. ALIPAY_TIDFACTOR_CLIENTKEY,
  18. ALIPAY_TIDFACTOR_VIMEI,
  19. ALIPAY_TIDFACTOR_VIMSI,
  20. ALIPAY_TIDFACTOR_CLIENTID,
  21. ALIPAY_TIDFACTOR_APDID,
  22. ALIPAY_TIDFACTOR_MAX
  23. } AlipayTidFactor;
  24. typedef void(^CompletionBlock)(NSDictionary *resultDic);
  25. @interface AlipaySDK : NSObject
  26. /**
  27. * 创建支付单例服务
  28. *
  29. * @return 返回单例对象
  30. */
  31. + (AlipaySDK *)defaultService;
  32. /**
  33. * 用于设置SDK使用的window,如果没有自行创建window无需设置此接口
  34. */
  35. @property (nonatomic, weak) UIWindow *targetWindow;
  36. /**
  37. * 支付接口
  38. *
  39. * @param orderStr 订单信息
  40. * @param schemeStr 调用支付的app注册在info.plist中的scheme
  41. * @param completionBlock 支付结果回调Block,用于wap支付结果回调(非跳转钱包支付)
  42. */
  43. - (void)payOrder:(NSString *)orderStr
  44. fromScheme:(NSString *)schemeStr
  45. callback:(CompletionBlock)completionBlock;
  46. /**
  47. * 处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url
  48. *
  49. * @param resultUrl 支付结果url
  50. * @param completionBlock 支付结果回调
  51. */
  52. - (void)processOrderWithPaymentResult:(NSURL *)resultUrl
  53. standbyCallback:(CompletionBlock)completionBlock;
  54. /**
  55. * 获取交易token。
  56. *
  57. * @return 交易token,若无则为空。
  58. */
  59. - (NSString *)fetchTradeToken;
  60. /**
  61. * 是否已经使用过
  62. *
  63. * @return YES为已经使用过,NO反之
  64. */
  65. - (BOOL)isLogined;
  66. /**
  67. * 获取当前版本号
  68. *
  69. * @return 当前版本字符串
  70. */
  71. - (NSString *)currentVersion;
  72. /**
  73. * 获取当前tid相关信息
  74. *
  75. * @return tid相关信息
  76. */
  77. - (NSString*)queryTidFactor:(AlipayTidFactor)factor;
  78. /**
  79. * 測試所用,realse包无效
  80. *
  81. * @param url 测试环境
  82. */
  83. - (void)setUrl:(NSString *)url;
  84. //////////////////////////////////////////////////////////////////////////////////////////////
  85. //////////////////////////h5 拦截支付入口///////////////////////////////////////////////////////
  86. //////////////////////////////////////////////////////////////////////////////////////////////
  87. /**
  88. * 从h5链接中获取订单串并支付接口(自版本15.4.0起,推荐使用该接口)
  89. *
  90. * @param urlStr 拦截的 url string
  91. *
  92. * @return YES为成功获取订单信息并发起支付流程;NO为无法获取订单信息,输入url是普通url
  93. */
  94. - (BOOL)payInterceptorWithUrl:(NSString *)urlStr
  95. fromScheme:(NSString *)schemeStr
  96. callback:(CompletionBlock)completionBlock;
  97. /**
  98. * 从h5链接中获取订单串接口(自版本15.4.0起已废弃,请使用payInterceptorWithUrl...)
  99. *
  100. * @param urlStr 拦截的 url string
  101. *
  102. * @return 获取到的url order info
  103. */
  104. - (NSString*)fetchOrderInfoFromH5PayUrl:(NSString*)urlStr;
  105. /**
  106. * h5链接获取到的订单串支付接口(自版本15.4.0起已废弃,请使用payInterceptorWithUrl...)
  107. *
  108. * @param orderStr 订单信息
  109. * @param schemeStr 调用支付的app注册在info.plist中的scheme
  110. * @param completionBlock 支付结果回调Block
  111. */
  112. - (void)payUrlOrder:(NSString *)orderStr
  113. fromScheme:(NSString *)schemeStr
  114. callback:(CompletionBlock)completionBlock;
  115. //////////////////////////////////////////////////////////////////////////////////////////////
  116. //////////////////////////授权1.0//////////////////////////////////////////////////////////////
  117. //////////////////////////////////////////////////////////////////////////////////////////////
  118. /**
  119. * 快登授权
  120. * @param authInfo 需授权信息
  121. * @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
  122. 需要调用方在appDelegate中调用processAuthResult:standbyCallback:方法获取授权结果
  123. */
  124. - (void)authWithInfo:(APayAuthInfo *)authInfo
  125. callback:(CompletionBlock)completionBlock;
  126. /**
  127. * 处理授权信息Url
  128. *
  129. * @param resultUrl 钱包返回的授权结果url
  130. * @param completionBlock 授权结果回调
  131. */
  132. - (void)processAuthResult:(NSURL *)resultUrl
  133. standbyCallback:(CompletionBlock)completionBlock;
  134. //////////////////////////////////////////////////////////////////////////////////////////////
  135. //////////////////////////授权2.0//////////////////////////////////////////////////////////////
  136. //////////////////////////////////////////////////////////////////////////////////////////////
  137. /**
  138. * 快登授权2.0
  139. *
  140. * @param infoStr 授权请求信息字符串
  141. * @param schemeStr 调用授权的app注册在info.plist中的scheme
  142. * @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
  143. 需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
  144. */
  145. - (void)auth_V2WithInfo:(NSString *)infoStr
  146. fromScheme:(NSString *)schemeStr
  147. callback:(CompletionBlock)completionBlock;
  148. /**
  149. * 处理授权信息Url
  150. *
  151. * @param resultUrl 钱包返回的授权结果url
  152. * @param completionBlock 授权结果回调
  153. */
  154. - (void)processAuth_V2Result:(NSURL *)resultUrl
  155. standbyCallback:(CompletionBlock)completionBlock;
  156. @end