AlipaySDK.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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. * 支付接口
  34. *
  35. * @param orderStr 订单信息
  36. * @param schemeStr 调用支付的app注册在info.plist中的scheme
  37. * @param compltionBlock 支付结果回调Block
  38. */
  39. - (void)payOrder:(NSString *)orderStr
  40. fromScheme:(NSString *)schemeStr
  41. callback:(CompletionBlock)completionBlock;
  42. /**
  43. * 处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url
  44. *
  45. * @param resultUrl 支付结果url,传入后由SDK解析,统一在上面的pay方法的callback中回调
  46. * @param completionBlock 跳钱包支付结果回调,保证跳转钱包支付过程中,即使调用方app被系统kill时,能通过这个回调取到支付结果。
  47. */
  48. - (void)processOrderWithPaymentResult:(NSURL *)resultUrl
  49. standbyCallback:(CompletionBlock)completionBlock;
  50. /**
  51. * 获取交易token。
  52. *
  53. * @return 交易token,若无则为空。
  54. */
  55. - (NSString *)fetchTradeToken;
  56. /**
  57. * 是否已经使用过
  58. *
  59. * @return YES为已经使用过,NO反之
  60. */
  61. - (BOOL)isLogined;
  62. /**
  63. * 当前版本号
  64. *
  65. * @return 当前版本字符串
  66. */
  67. - (NSString *)currentVersion;
  68. /**
  69. * 当前版本号
  70. *
  71. * @return tid相关信息
  72. */
  73. - (NSString*)queryTidFactor:(AlipayTidFactor)factor;
  74. /**
  75. * 測試所用,realse包无效
  76. *
  77. * @param url 测试环境
  78. */
  79. - (void)setUrl:(NSString *)url;
  80. //////////////////////////////////////////////////////////////////////////////////////////////
  81. //////////////////////////h5 拦截支付入口///////////////////////////////////////////////////////
  82. //////////////////////////////////////////////////////////////////////////////////////////////
  83. /**
  84. * url order 获取接口
  85. *
  86. * @param urlStr 拦截的 url string
  87. *
  88. * @return 获取到的url order info
  89. */
  90. - (NSString*)fetchOrderInfoFromH5PayUrl:(NSString*)urlStr;
  91. /**
  92. * url支付接口
  93. *
  94. * @param orderStr 订单信息
  95. * @param schemeStr 调用支付的app注册在info.plist中的scheme
  96. * @param compltionBlock 支付结果回调Block
  97. */
  98. - (void)payUrlOrder:(NSString *)orderStr
  99. fromScheme:(NSString *)schemeStr
  100. callback:(CompletionBlock)completionBlock;
  101. //////////////////////////////////////////////////////////////////////////////////////////////
  102. //////////////////////////授权1.0//////////////////////////////////////////////////////////////
  103. //////////////////////////////////////////////////////////////////////////////////////////////
  104. /**
  105. * 快登授权
  106. * @param authInfo 需授权信息
  107. * @param completionBlock 授权结果回调
  108. */
  109. - (void)authWithInfo:(APayAuthInfo *)authInfo
  110. callback:(CompletionBlock)completionBlock;
  111. /**
  112. * 处理授权信息Url
  113. *
  114. * @param resultUrl 钱包返回的授权结果url
  115. * @param completionBlock 跳授权结果回调,保证跳转钱包授权过程中,即使调用方app被系统kill时,能通过这个回调取到支付结果。
  116. */
  117. - (void)processAuthResult:(NSURL *)resultUrl
  118. standbyCallback:(CompletionBlock)completionBlock;
  119. //////////////////////////////////////////////////////////////////////////////////////////////
  120. //////////////////////////授权2.0//////////////////////////////////////////////////////////////
  121. //////////////////////////////////////////////////////////////////////////////////////////////
  122. /**
  123. * 快登授权2.0
  124. *
  125. * @param infoStr 授权请求信息字符串
  126. * @param schemeStr 调用授权的app注册在info.plist中的scheme
  127. * @param completionBlock 授权结果回调
  128. */
  129. - (void)auth_V2WithInfo:(NSString *)infoStr
  130. fromScheme:(NSString *)schemeStr
  131. callback:(CompletionBlock)completionBlock;
  132. /**
  133. * 处理授权信息Url
  134. *
  135. * @param resultUrl 钱包返回的授权结果url
  136. * @param completionBlock 跳授权结果回调,保证跳转钱包授权过程中,即使调用方app被系统kill时,能通过这个回调取到支付结果。
  137. */
  138. - (void)processAuth_V2Result:(NSURL *)resultUrl
  139. standbyCallback:(CompletionBlock)completionBlock;
  140. @end