Skip to content

支付

支付目前仅支持微信、支付宝和苹果内购

微信支付

1.方法

orderInfo: 订单信息 productId: 产品号 money: 金额 extraData: 透传数据(需要SDK返回的数据) userAgent: User-Agent success: 成功回调 failure: 失败回调

/// 微信支付
/// - Parameters:
///   - orderInfo: 订单信息
///   - productId: 产品号
///   - money: 金额
///   - extraData: 透传数据(需要SDK返回的数据)
///   - userAgent: User-Agent
///   - success: 成功回调
///   - failure: 失败回调
- (void)wechatPayFromOrderInfo:(NSString *)orderInfo productId:(NSString *)productId money:(NSString *)money extraData:(NSString *)extraData userAgent:(NSString *)userAgent success:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

2.方法示例:

[BrickManager wechatPayFromOrderInfo:@"order_id" productId:@"product_id" money:@"0.01" extraData:@"" userAgent:@"" success:^(BrickCompleteResult * _Nonnull completeResult) {
        BrickCompleteResult *result = completeResult;
        NSInteger code = result.code;
        NSString *message = result.message;
        NSDictionary *data = result.data;
        NSLog(@"wechatPaySuccess:%ld-----%@------%@",(long)code,message,data);
    } failure:^(BrickCompleteResult * _Nonnull completeResult) {
        BrickCompleteResult *result = completeResult;
        NSInteger code = result.code;
        NSString *message = result.message;
        NSDictionary *data = result.data;
        NSLog(@"wechatPayFailure:%ld-----%@----%@",(long)code,message,data);
    }];

支付宝支付

1.方式一

order: 支付订单信息字串 productId: 产品号 money: 金额 extraData: 透传数据(需要SDK返回的数据) userAgent: User-Agent scheme: 调用支付的app注册在info.plist中的scheme success: 成功回调 failure: 失败回调

/// 支付宝支付
/// - Parameters:
///   - order: 支付订单信息字串
///   - productId: 产品号
///   - money: 金额
///   - extraData: 透传数据(需要SDK返回的数据)
///   - userAgent: User-Agent
///   - scheme: 调用支付的app注册在info.plist中的scheme
///   - success: 成功回调
///   - failure: 失败回调
+ (void)alipayFromOrder:(NSString *)order productId:(NSString *)productId money:(NSString *)money extraData:(NSString *)extraData userAgent:(NSString *)userAgent withScheme:(NSString *)scheme andCallBackSuccess:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

2.方式二

order: 支付订单信息字串 productId: 产品号 money: 金额 extraData: 透传数据(需要SDK返回的数据) userAgent: User-Agent dynamicLaunch: 是否使用动态配置策略跳转支付宝支付 scheme: 调用支付的app注册在info.plist中的scheme success: 成功回调 failure: 失败回调

/// 支付宝支付
/// - Parameters:
///   - order:  支付订单信息字串
///   - productId: 产品号
///   - money: 金额
///   - extraData: 透传数据(需要SDK返回的数据)
///   - userAgent: User-Agent
///   - dynamicLaunch: 是否使用动态配置策略跳转支付宝支付
///   - scheme: 调用支付的app注册在info.plist中的scheme
///   - success: 成功回调
///   - failure: 失败回调
+ (void)alipayFromOrder:(NSString *)order productId:(NSString *)productId money:(NSString *)money extraData:(NSString *)extraData userAgent:(NSString *)userAgent dynamicLaunch:(BOOL)dynamicLaunch withScheme:(NSString *)scheme andCallBackSuccess:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

3.方式三

order: 支付订单信息字串 productId: 产品号 money: 金额 extraData: 透传数据(需要SDK返回的数据) userAgent: User-Agent scheme: 调用支付的app注册在info.plist中的scheme universalLink: 调用支付的app关联的universalLink,如'https://render.alipay.com/' success: 成功回调 failure: 失败回调

/// 商户接入UniversalLink支付接口使用该接口
/// - Parameters:
///   - order: 支付订单信息字串
///   - productId: 产品号
///   - money: 金额
///   - extraData: 透传数据(需要SDK返回的数据)
///   - userAgent: User-Agent
///   - scheme: 调用支付的app注册在info.plist中的scheme
///   - universalLink: 调用支付的app关联的universalLink,如'https://render.alipay.com/'
///   - success: 成功回调
///   - failure: 失败回调
+ (void)alipayFromOrder:(NSString *)order productId:(NSString *)productId money:(NSString *)money extraData:(NSString *)extraData userAgent:(NSString *)userAgent withScheme:(NSString *)scheme universalLink:(NSString *)universalLink andCallBackSuccess:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

方法示例:

[BrickManager alipayFromOrder:@"order_id" productId:@"product_id" money:@"0.01" extraData:@"" userAgent:@"" withScheme:@"scheme" andCallBackSuccess:^(BrickCompleteResult * _Nonnull completeResult) {
    BrickCompleteResult *result = completeResult;
    NSInteger code = result.code;
    NSString *message = result.message;
    NSLog(@"alipaySuccess:%ld-----%@",(long)code,message);
} failure:^(BrickCompleteResult * _Nonnull completeResult) {
    BrickCompleteResult *result = completeResult;
    NSInteger code = result.code;
    NSString *message = result.message;
    NSLog(@"alipayFailure:%ld-----%@",(long)code,message);
}];

苹果内购

1.校验该设备是否可以支付

/// 校验该设备是否可以支付
+ (BOOL)canMakePayments;

方法示例:

BOOL canPayments = [BrickManager canMakePayments];

2.内购

orderId: 订单号 money: 金额 userId: 用户ID extraData: 透传数据(需要SDK返回的数据) userAgent: User-Agent success: 成功回调 failure: 失败回调

/// 内购
/// - Parameter productsId: 产品id
///   - orderId: 订单号
///   - money: 金额
///   - userId: 用户ID
///   - extraData: 透传数据(需要SDK返回的数据)
///   - userAgent: User-Agent
///   - success: 成功回调
///   - failure: 失败回调
+ (void)appleInPurchaseFromProductsId:(NSString *)productsId orderId:(NSString *)orderId money:(NSString *)money extraData:(NSString *)extraData userAgent:(NSString *)userAgent success:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

方法示例:

[BrickManager appleInPurchaseFromProductsId:@"product_id" orderId:@"order_id" money:@"8.00" extraData:@"" userAgent:@"" success:^(BrickCompleteResult * _Nonnull completeResult) {
    BrickCompleteResult *result = completeResult;
    NSInteger code = result.code;
    NSString *message = result.message;
    NSDictionary *data = result.data;
    NSLog(@"appleSuccess:%ld-----%@----%@",(long)code,message,data);
} failure:^(BrickCompleteResult * _Nonnull completeResult) {
    BrickCompleteResult *result = completeResult;
    NSInteger code = result.code;
    NSString *message = result.message;
    NSLog(@"appleFailure:%ld-----%@",(long)code,message);
}];

3.恢复购买

success: 成功回调 failure: 失败回调

/// 恢复购买
/// - Parameters:
///   - success: 成功回调
///   - failure: 失败回调
+ (void)restoreSuccess:(nullable BrickComplete)success failure:(nullable BrickComplete)failure;

方法示例:

[BrickManager restoreSuccess:^(BrickCompleteResult * _Nonnull completeResult) {
   NSLog(@"恢复购买成功");
} failure:^(BrickCompleteResult * _Nonnull completeResult) {
   NSLog(@"恢复购买失败");
}];

微信支付、支付宝支付处理系统调用

1.处理登录通过URL启动App时传递的数据

url: 第三方应用时传递过来的URL

/// 处理登录通过URL启动App时传递的数据
/// - Parameter url: 第三方应用时传递过来的URL
+ (BOOL)brickPayHandleOpenURL:(NSURL *)url;

方法示例:

[BrickManager brickPayHandleOpenURL:url];

2.处理登录通过Universal Link启动App时传递的数据

userActivity: 系统API传递过来的userActivity

/// 处理登录通过Universal Link启动App时传递的数据
/// - Parameter userActivity: 系统API传递过来的userActivity
+ (BOOL)brickPayHandleOpenUniversalLink:(NSUserActivity *)userActivity;

方法示例

[BrickManager brickPayHandleOpenUniversalLink:userActivity];