Commit 04803a56 authored by wind.wang's avatar wind.wang

alipay upgrade

parent 3fbc92d0
...@@ -126,7 +126,6 @@ static NSString *state = @"terminus_snsapi_userinfo"; ...@@ -126,7 +126,6 @@ static NSString *state = @"terminus_snsapi_userinfo";
NSArray* permissions = [NSArray arrayWithObjects: NSArray* permissions = [NSArray arrayWithObjects:
kOPEN_PERMISSION_GET_USER_INFO, kOPEN_PERMISSION_GET_USER_INFO,
kOPEN_PERMISSION_GET_SIMPLE_USER_INFO, kOPEN_PERMISSION_GET_SIMPLE_USER_INFO,
kOPEN_PERMISSION_ADD_SHARE,
nil]; nil];
[self.tencentOAuth authorize:permissions inSafari:NO]; [self.tencentOAuth authorize:permissions inSafari:NO];
} }
......
...@@ -54,15 +54,15 @@ ...@@ -54,15 +54,15 @@
return self; return self;
} }
// - (void) setUmengAppKey:(NSString *)umengAppKey{ //- (void) setUmengAppKey:(NSString *)umengAppKey{
// _umengAppKey = [umengAppKey copy]; // _umengAppKey = [umengAppKey copy];
// [[UMSocialManager defaultManager] setUmSocialAppkey:_umengAppKey]; // [[UMSocialManager defaultManager] setUmSocialAppkey:_umengAppKey];
// } //}
//
// - (void) enableShareWithumengAppKey:(NSString *)umengAppKey snsNames:(NSArray *)snsNames{ //- (void) enableShareWithumengAppKey:(NSString *)umengAppKey snsNames:(NSArray *)snsNames{
// [self setUmengAppKey:umengAppKey]; // [self setUmengAppKey:umengAppKey];
// [self setSnsNames:snsNames]; // [self setSnsNames:snsNames];
// } //}
- (void) shareHandler:(NSDictionary *)data callback:(RNShareResponseCallback)callback;{ - (void) shareHandler:(NSDictionary *)data callback:(RNShareResponseCallback)callback;{
if (callback){ if (callback){
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
} }
- (void)initAli:(NSString*)appKey appSecret:(NSString*)appSecret redirect:(NSString*)redirect{ - (void)initAli:(NSString*)appKey appSecret:(NSString*)appSecret redirect:(NSString*)redirect{
[[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_AlipaySession appKey:appKey appSecret:appSecret redirectURL:redirect]; [[UMSocialManager defaultManager] setPlaform: UMSocialPlatformType_APSession appKey:appKey appSecret:appSecret redirectURL:redirect];
[[RNLoginManager shareInstance] initAlipayLogin:appKey scheme:redirect]; [[RNLoginManager shareInstance] initAlipayLogin:appKey scheme:redirect];
} }
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
} }
- (void)initAliPayShare:(NSString *)appKey appSecret:(NSString*)appSecret redirect:(NSString*)redirect { - (void)initAliPayShare:(NSString *)appKey appSecret:(NSString*)appSecret redirect:(NSString*)redirect {
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_AlipaySession appKey:appKey appSecret:appSecret redirectURL:redirect]; [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_APSession appKey:appKey appSecret:appSecret redirectURL:redirect];
} }
- (void)initDingTalkShare:(NSString *)appKey appSecret:(NSString *)appSecret redirect:(NSString *)redirect { - (void)initDingTalkShare:(NSString *)appKey appSecret:(NSString *)appSecret redirect:(NSString *)redirect {
......
!function(){if(!window.AlipayJSBridge){window.alipayjsbridgeSetTitle=function(e){document.title=e,t("alipayjsbridge://setTitle?title="+encodeURIComponent(e))},window.alipayjsbridgeRefresh=function(){t("alipayjsbridge://onRefresh?")},window.alipayjsbridgeBack=function(){t("alipayjsbridge://onBack?")},window.alipayjsbridgeExit=function(e){t("alipayjsbridge://onExit?bsucc="+e)},window.alipayjsbridgeShowBackButton=function(e){t("alipayjsbridge://showBackButton?bshow="+e)},window.AlipayJSBridge={version:"2.0",addListener:function(e,i){a[e]=i},hasListener:function(e){if(!a[e])return!1;return!0},callListener:function(e,i,n){var t;n&&(t=function(e){var i="";e&&(i=encodeURIComponent(JSON.stringify(e)));var a="func=h5JsFuncCallback&cbId="+n+"&data="+i;o(a)});var r=a[e];r?r(i,t):console.log("AlipayJSBridge: no h5JsFunc ",e+i)},callNativeFunc:function(e,a,t){var r="";t&&(r="cb_"+i+++"_"+(new Date).getTime(),n[r]=t);var d="";a&&(d=encodeURIComponent(JSON.stringify(a)));o("func="+e+"&cbId="+r+"&data="+d)},callBackFromNativeFunc:function(e,i){var a=n[e];a&&(a(i),delete n[i])}};var e,i=1,n={},a={};window.CustomEvent?e=new CustomEvent("alipayjsbridgeready"):(e=document.createEvent("Event")).initEvent("alipayjsbridgeready",!0,!0),document.dispatchEvent(e),setTimeout(function(){if(window.AlipayJSBridgeInitArray){var e=window.AlipayJSBridgeInitArray;delete window.AlipayJSBridgeInitArray;for(var i=0;i<e.length;i++)try{e[i](AlipayJSBridge)}catch(e){setTimeout(function(){throw e})}}},0)}function t(e){window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.MQPJSBridgeScheme&&window.webkit.messageHandlers.MQPJSBridgeScheme.postMessage&&window.webkit.messageHandlers.MQPJSBridgeScheme.postMessage(e)}function o(e){t("alipayjsbridge://callNativeFunc?"+e)}}();
//
// AFServiceCenter.h
// AFServiceSDK
//
// Created by jiajunchen on 02/01/2018.
// Copyright © 2018 antfin. All rights reserved.
//
#import <Foundation/Foundation.h>
@class AFServiceResponse;
/**
SDK支持的业务枚举值
- AFServiceEInvoice: 电子发票
- AFServiceAuth: 账户授权
*/
typedef NS_ENUM(NSUInteger, AFService) {
AFServiceEInvoice,
AFServiceAuth,
AFServiceDeduct
};
extern NSString * const kAFServiceOptionBizParams; // 钱包服务调用入参
extern NSString * const kAFServiceOptionCallbackScheme; // 业务回跳当前app的scheme
extern NSString * const kAFServiceOptionNotUseLanding; // 不使用支付宝提示下载页做补偿,为true时需要商户自己处理用户未安装支付宝的情况
extern NSString * const kAFServiceBizParamsKeyUrl; // 独立签约入参url
typedef void(^AFServiceResultBlock)(AFServiceResponse *response);
@interface AFServiceCenter : NSObject
/**
调用钱包服务
@param service 业务service, 见AFService枚举值
@param params 参数Dictionary, key值详情参见kAFServiceOptionBizParams、kAFServiceOptionCallbackScheme注释
@param block 业务结果回调的block, block参数是AFServiceResponse类型,业务结果通过result属性获取,如果未用户未安装支付宝并且kAFServiceOptionNotUseLanding未设置为true,会使用H5landing页做补偿,这种情况下不会有block回调结果。
*/
+ (void)callService:(AFService)service
withParams:(NSDictionary *)params
andCompletion:(AFServiceResultBlock)block;
/**
处理钱包服务回跳APP的URL
@param url 回跳URL
@param block 业务结果回掉的block,详情见调用接口入参上的block。注意此接口上的block只有在跳转钱包后,当前APP被系统回收的情况下回跳才生效
*/
+ (void)handleResponseURL:(NSURL *)url
withCompletion:(AFServiceResultBlock)block;
@end
//
// AFServiceResponse.h
// AFServiceSDK
//
// Created by jiajunchen on 08/01/2018.
// Copyright © 2018 antfin. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
钱包服务调用结果状态吗
- AFResSuccess: 默认值,业务调用成功,结果数据参见result字段
- AFResInvalidService: service枚举值错误
- AFResInvalidURL: 钱包回跳URL错误
- AFResRepeatCall: 业务重复调用(3s内)
- AFResOpenURLErr: 跳转失败
*/
typedef NS_ENUM(NSUInteger, AFResCode) {
AFResSuccess = 0,
AFResInvalidService = 100,
AFResInvalidURL,
AFResRepeatCall,
AFResOpenURLErr,
};
@interface AFServiceResponse : NSObject
/**
业务调用状态吗
*/
@property (nonatomic, assign) AFResCode responseCode;
/**
业务结果Dictionary, 内容请参考具体业务方接入文档
*/
@property (readonly) NSDictionary *result;
@end
...@@ -9,14 +9,27 @@ ...@@ -9,14 +9,27 @@
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
///////////////// 支付宝标准版本支付SDK /////////////////// ///////////////// 支付宝标准版本支付SDK ///////////////////
/////////// version:15.5.3 motify:2018.04.02 /////////// ///////// version:15.7.9 motify:2020.07.27///////////
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "APayAuthInfo.h" #import "APayAuthInfo.h"
#import "AFServiceCenter.h"
#import "AFServiceResponse.h"
typedef void(^CompletionBlock)(NSDictionary *resultDic); typedef void(^CompletionBlock)(NSDictionary *resultDic);
typedef enum {
ALIPAY_TIDFACTOR_IMEI,
ALIPAY_TIDFACTOR_IMSI,
ALIPAY_TIDFACTOR_TID,
ALIPAY_TIDFACTOR_CLIENTKEY,
ALIPAY_TIDFACTOR_VIMEI,
ALIPAY_TIDFACTOR_VIMSI,
ALIPAY_TIDFACTOR_CLIENTID,
ALIPAY_TIDFACTOR_APDID,
ALIPAY_TIDFACTOR_MAX
} AlipayTidFactor;
@interface AlipaySDK : NSObject @interface AlipaySDK : NSObject
...@@ -32,22 +45,41 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic); ...@@ -32,22 +45,41 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic);
*/ */
@property (nonatomic, weak) UIWindow *targetWindow; @property (nonatomic, weak) UIWindow *targetWindow;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝支付相关接口/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 支付接口 * 支付接口
* *
* @param orderStr 订单信息 * @param orderStr 支付订单信息字串
* @param schemeStr 调用支付的app注册在info.plist中的scheme * @param schemeStr 调用支付的app注册在info.plist中的scheme
* @param completionBlock 支付结果回调Block,用于wap支付结果回调(非跳转钱包支付) * @param completionBlock 支付结果回调Block,用于wap支付结果回调
跳转支付宝支付时只有当processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
*/ */
- (void)payOrder:(NSString *)orderStr - (void)payOrder:(NSString *)orderStr
fromScheme:(NSString *)schemeStr fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock; callback:(CompletionBlock)completionBlock;
/** /**
* 处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url * 支付接口 v2
* *
* @param resultUrl 支付结果url * @param orderStr 支付订单信息字串
* @param completionBlock 支付结果回调 * @param dynamicLaunch 是否使用动态配置策略跳转支付宝支付
* @param schemeStr 调用支付的app注册在info.plist中的scheme
* @param completionBlock 支付结果回调Block,用于wap支付结果回调
跳转支付宝支付时只有当processOrderWithPaymentResult接口的completionBlock为nil时会使用这个bolock
*/
- (void)payOrder:(NSString *)orderStr
dynamicLaunch:(BOOL)dynamicLaunch
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/**
* 处理支付宝app支付后跳回商户app携带的支付结果Url
*
* @param resultUrl 支付宝app返回的支付结果url
* @param completionBlock 支付结果回调 为nil时默认使用支付接口的completionBlock
*/ */
- (void)processOrderWithPaymentResult:(NSURL *)resultUrl - (void)processOrderWithPaymentResult:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock; standbyCallback:(CompletionBlock)completionBlock;
...@@ -59,30 +91,59 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic); ...@@ -59,30 +91,59 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic);
*/ */
- (NSString *)fetchTradeToken; - (NSString *)fetchTradeToken;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝授权 2.0 相关接口////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 是否已经使用过 * 快登授权2.0
* *
* @return YES为已经使用过,NO反之 * @param infoStr 授权请求信息字串
* @param schemeStr 调用授权的app注册在info.plist中的scheme
* @param completionBlock 授权结果回调,需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
* 若在授权过程中,调用方应用被系统终止则此block无效(此时会调用'processAuth_V2Result:standbyCallback:'传入的standbyCallback)
*/ */
- (BOOL)isLogined; - (void)auth_V2WithInfo:(NSString *)infoStr
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/** /**
* 获取当前版本号 * 处理支付宝app授权后跳回商户app携带的授权结果Url
* *
* @return 当前版本字符串 * @param resultUrl 支付宝app返回的授权结果url
* @param completionBlock 授权结果回调,用于处理跳转支付宝授权过程中商户APP被系统终止的情况
*/ */
- (NSString *)currentVersion; - (void)processAuth_V2Result:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝授权 1.0 相关接口////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 測試所用,realse包无效 * 快登授权
* @param authInfo 授权相关信息
* @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
*/
- (void)authWithInfo:(APayAuthInfo *)authInfo
callback:(CompletionBlock)completionBlock;
/**
* 处理支付宝app授权后跳回商户app携带的授权结果Url
* *
* @param url 测试环境 * @param resultUrl 支付宝app返回的授权结果url
* @param completionBlock 授权结果回调
*/ */
- (void)setUrl:(NSString *)url; - (void)processAuthResult:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////h5 拦截支付入口/////////////////////////////////////////////////////// //////////////////////////支付宝 h5 支付转 native 支付接口////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 从h5链接中获取订单串并支付接口(自版本15.4.0起,推荐使用该接口) * 从h5链接中获取订单串并支付接口(自版本15.4.0起,推荐使用该接口)
...@@ -95,76 +156,68 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic); ...@@ -95,76 +156,68 @@ typedef void(^CompletionBlock)(NSDictionary *resultDic);
fromScheme:(NSString *)schemeStr fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock; callback:(CompletionBlock)completionBlock;
/**
* 从h5链接中获取订单串接口(自版本15.4.0起已废弃,请使用payInterceptorWithUrl...)
*
* @param urlStr 拦截的 url string
*
* @return 获取到的url order info
*/
- (NSString*)fetchOrderInfoFromH5PayUrl:(NSString*)urlStr;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////支付宝 tid 相关信息获取接口/////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* h5链接获取到的订单串支付接口(自版本15.4.0起已废弃,请使用payInterceptorWithUrl...) * 获取当前tid相关信息
* *
* @param orderStr 订单信息 * @return tid相关信息
* @param schemeStr 调用支付的app注册在info.plist中的scheme
* @param completionBlock 支付结果回调Block
*/ */
- (void)payUrlOrder:(NSString *)orderStr - (NSString*)queryTidFactor:(AlipayTidFactor)factor;
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////授权2.0////////////////////////////////////////////////////////////// //////////////////////////支付宝支付环境相关信息接口//////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 快登授权2.0 * 是否已经使用过
* *
* @param infoStr 授权请求信息字符串 * @return YES为已经使用过,NO反之
* @param schemeStr 调用授权的app注册在info.plist中的scheme
* @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效,
需要调用方在appDelegate中调用processAuth_V2Result:standbyCallback:方法获取授权结果
*/ */
- (void)auth_V2WithInfo:(NSString *)infoStr - (BOOL)isLogined;
fromScheme:(NSString *)schemeStr
callback:(CompletionBlock)completionBlock;
/** /**
* 处理授权信息Url * 获取当前版本号
* *
* @param resultUrl 钱包返回的授权结果url * @return 当前版本字符串
* @param completionBlock 授权结果回调
*/ */
- (void)processAuth_V2Result:(NSURL *)resultUrl - (NSString *)currentVersion;
standbyCallback:(CompletionBlock)completionBlock;
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////授权1.0 (授权1.0接口即将废弃,请使用授权2.0接口)///////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/** /**
* 快登授权 * 測試所用,realse包无效
* @param authInfo 需授权信息 *
* @param completionBlock 授权结果回调,若在授权过程中,调用方应用被系统终止,则此block无效, * @param url 测试环境
需要调用方在appDelegate中调用processAuthResult:standbyCallback:方法获取授权结果
*/ */
- (void)authWithInfo:(APayAuthInfo *)authInfo - (void)setUrl:(NSString *)url;
callback:(CompletionBlock)completionBlock;
/** /**
* 处理授权信息Url * 支付前主动更新本地配置
* *
* @param resultUrl 钱包返回的授权结果url * @param block 更新请求结果回调
* @param completionBlock 授权结果回调
*/ */
- (void)processAuthResult:(NSURL *)resultUrl - (void)fetchSdkConfigWithBlock:(void(^)(BOOL success))block;
standbyCallback:(CompletionBlock)completionBlock;
typedef void(^APLogBlock)(NSString *log);
/**
* 接收AlipaySDK的log信息
*
* @param logBlock 打印log的回调block
*/
+ (void)startLogWithBlock:(APLogBlock)logBlock;
/**
* 停止输出log,会释放logBlock
*
*
*/
+ (void)stopLog;
@end @end
...@@ -18,5 +18,5 @@ ...@@ -18,5 +18,5 @@
"start": "react-native start", "start": "react-native start",
"test": "jest" "test": "jest"
}, },
"version": "1.3.1" "version": "1.3.3"
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment