AlipaySDK.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. //
  2. // AlipaySDK.h
  3. // AlipaySDK
  4. //
  5. // Created by 方彬 on 14-4-28.
  6. // Copyright (c) 2014年 Alipay. All rights reserved.
  7. //
  8. ////////////////////////////////////////////////////////
  9. ////////////////version:2.1 motify:2014.12.24//////////
  10. ///////////////////Merry Christmas=。=//////////////////
  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 compltionBlock 支付结果回调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. * 当前版本号
  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. * url order 获取接口
  89. *
  90. * @param urlStr 拦截的 url string
  91. *
  92. * @return 获取到的url order info
  93. */
  94. - (NSString*)fetchOrderInfoFromH5PayUrl:(NSString*)urlStr;
  95. /**
  96. * url支付接口
  97. *
  98. * @param orderStr 订单信息
  99. * @param schemeStr 调用支付的app注册在info.plist中的scheme
  100. * @param compltionBlock 支付结果回调Block
  101. */
  102. - (void)payUrlOrder:(NSString *)orderStr
  103. fromScheme:(NSString *)schemeStr
  104. callback:(CompletionBlock)completionBlock;
  105. //////////////////////////////////////////////////////////////////////////////////////////////
  106. //////////////////////////授权1.0//////////////////////////////////////////////////////////////
  107. //////////////////////////////////////////////////////////////////////////////////////////////
  108. /**
  109. * 快登授权
  110. * @param authInfo 需授权信息
  111. * @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
  112. 需要调用方在appDelegate中调用processAuthResult:standbyCallback:方法获取授权结果
  113. */
  114. - (void)authWithInfo:(APayAuthInfo *)authInfo
  115. callback:(CompletionBlock)completionBlock;
  116. /**
  117. * 处理授权信息Url
  118. *
  119. * @param resultUrl 钱包返回的授权结果url
  120. * @param completionBlock 授权结果回调
  121. */
  122. - (void)processAuthResult:(NSURL *)resultUrl
  123. standbyCallback:(CompletionBlock)completionBlock;
  124. //////////////////////////////////////////////////////////////////////////////////////////////
  125. //////////////////////////授权2.0//////////////////////////////////////////////////////////////
  126. //////////////////////////////////////////////////////////////////////////////////////////////
  127. /**
  128. * 快登授权2.0
  129. *
  130. * @param infoStr 授权请求信息字符串
  131. * @param schemeStr 调用授权的app注册在info.plist中的scheme
  132. * @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
  133. 需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
  134. */
  135. - (void)auth_V2WithInfo:(NSString *)infoStr
  136. fromScheme:(NSString *)schemeStr
  137. callback:(CompletionBlock)completionBlock;
  138. /**
  139. * 处理授权信息Url
  140. *
  141. * @param resultUrl 钱包返回的授权结果url
  142. * @param completionBlock 授权结果回调
  143. */
  144. - (void)processAuth_V2Result:(NSURL *)resultUrl
  145. standbyCallback:(CompletionBlock)completionBlock;
  146. @end