BGPay 2.0.0

BGPay 2.0.0

Maintained by CoderLinXinLi.



BGPay 2.0.0

  • By
  • CoderLiXinLi

BGPay

CI Status Version License Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Usage

最低支持版本

  • iOS >= 8.0

Installation with CocoaPods

BGPaySDK is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'BGPay'

Manually

下载依赖库地址.

依赖framework:

  • AFNetworking.framework(.a)
  • BGPay.framework
BGPay.framework AFNetworking.a 依赖到 Linked  Framework And Librarise
注意:如果使用了AFNetworking.framework(动态库),需要将AFNetworking.framework 依赖到 Embedded Binaries.

配置

生命周期

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

    if ([url.host isEqualToString:@"BigoClient"]) {
        //TODO:此处处理回调结果
        NSString *appId = @"1084695898372562946";
        NSString *mchId = @"980822476815695873";
        NSString *outTradeNo = @"bg201812031530292177781207016";

        [BGPay getPayOrderWithAppId:appId andMchId:mchId andOutTradeNo:outTradeNo success:^(NSString *result) {
            NSLog(@"%@",result);
        } failed:^(NSString *result, BGPayError *error) {
            NSLog(@"%ld", (long)error.errorCode);
            NSLog(@"%@",error.errorMessage);
        }];
    }

    return YES;
}

URL Schemes

URL Schemes "创建APP Scheme"
LSApplicationQueriesSchemes 白名单 添加 "BigoClient"

统一下单

应用场景:

  • 商户系统先调用该接口在BGSDK生成预支付交易单,成功之后调起BG客户端,并可以在线支付,失败后返回对应的错误信息。

方法:

  • (void)payOrder:(BGOrder *)order scheme: (NSString *)formsScheme success: (successBlock)successBlock failed: (failBlock)failBlock;

参数:

order

V2.0版本之前
参数名 必选 类型 说明
appId string 应用ID
mchId string 商户号
nonceStr string 随机字符串
outTradeNo string 商户订单号
totalFee string 总金额
notifyUrl string 通知地址
sign string 签名算法
V2.0版本之后
参数名 必选 类型 说明
appId string 应用ID
mchId string 商户号
cipherText string 签名算法

scheme

参数名 必选 类型 说明
formsScheme string 应用Scheme

返回参数说明

参数名 类型 说明
result String 参数格式校验错误
error BGPayError 错误信息
V2.0版本之前
NSString *appId = @"1084695898372562946";
NSString *mchId = @"980822476815695873";
NSString *nonceStr = @"123456789";
NSString *outTradeNo = @"bgTest123456789";
NSString *totalFee = @"10";
NSString *notifyUrl = @"http://192.168.1.108:7076/pay/getOrder";
/// 签名信息
NSString *sign = @"XXXX";

BGOrder *order = [BGOrder orderWithAppId:appId andMchId:mchId andNonceStr:nonceStr andOutTradeNo:outTradeNo andTotalFee:totalFee andSign:sign andNotifyUrl:notifyUrl];

[BGPay payOrder:order scheme:@"OtherApp" success:^(NSString *result) {
    NSLog(@"%@",result);
} failed:^(NSString *result, BGPayError *error) {
    NSLog(@"%ld", (long)error.errorCode);
    NSLog(@"%@",error.errorMessage);
}];
V2.0版本之后
NSString *appId = @"1084695898372562946";
NSString *mchId = @"980822476815695873";
/// 签名信息
NSString *cipherText = @"XXXX";

BGOrder *order = [BGOrder orderWithAppId:appId andMchId:mchId andCipherText:cipherText];

[BGPay payOrder:order scheme:@"OtherApp" success:^(NSString *result) {
    NSLog(@"%@",result);
} failed:^(NSString *result, BGPayError *error) {
    NSLog(@"%ld", (long)error.errorCode);
    NSLog(@"%@",error.errorMessage);
}];

支付结果查询

应用场景:

  • 该接口提供所有BG支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。

方法:

  • (void)getPayOrderWithAppId:(NSString *)appId andMchId:(NSString *)mchId andOutTradeNo:(NSString *)outTradeNo success: (successBlock)successBlock failed: (failBlock)failBlock;

参数:

参数名 必选 类型 说明
appId string 应用ID
mchId string 商户号
outTradeNo string 商户订单号

返回参数说明

参数名 类型 说明
return_code String 此字段是通信标识,非交易标识,交易是否成功需要查看result_code(为0则是正确)来判断
return_msg String 参数格式校验错误
NSString *appId = @"1084695898372562946";
NSString *mchId = @"980822476815695873";
NSString *outTradeNo = @"bg201812031530292177781207016";

[BGPay getPayOrderWithAppId:appId andMchId:mchId andOutTradeNo:outTradeNo success:^(NSString *result) {
    NSLog(@"%@",result);
} failed:^(NSString *result, BGPayError *error) {
    NSLog(@"%ld", (long)error.errorCode);
    NSLog(@"%@",error.errorMessage);
}];

Author

CoderLiXinLi, [email protected]

License

BGPaySDK is available under the MIT license. See the LICENSE file for more info.

错误码

错误码 枚举 错误信息 解决方案
1000 BGErrUnknownError 未知错误 未知错误
1001 BGErrBgNotInstalled 未安装BG客户端 未安装BG客户端
2011 BGErrDisableAccount 用户账号被禁用 请联系客服
2012 BGErrPasswordError 资金密码错误 请输入正确的支付密码
2018 BGErrNonExistUser 用户不存在 用户未注册
2065 BGErrInvalidAppId 应用ID不能为空 请输入正确的appId
2066 BGErrInvalidMchId 商户号不能为空 请输入正确的商户号
2067 BGErrInvalidOutTradeNo 商户订单号不能为空 请输入正确的商户订单号
2068 BGErrInvalidAccount 平台未注册 请商户前往申请此接口权限
2069 BGErrUnknownMchId 商户号不匹配 请商户查看商户号是否正确
2070 BGErrDisableMch 平台已禁用 请商户前往申请接触禁用
2073 BGErrUnknownPrepayId 预支付订单号不存在 请检查预支付订单号
2077 BGErrUnPay 待支付 待支付
2078 BGErrPayTimeOut 支付超时 订单支付超时
2079 BGErrPaid 已支付完成 订单支付已完成
2080 BGErrUnknownSign 签名错误 请检查生成的签名
3001 BGErrWithdrawRecord 提现记录审核存在 提现记录已存在请联系客服审核
3002 BGErrUnknownFee 提现金额需要大于0 提现金额需要大于0
3003 BGErrUnknownAppId appId匹配错误 请检查appId
3004 BGErrUnknownMchId2 商户号匹配错误 请检查商户号
3005 BGErrDisableWithdraw 商户已经禁用提现 商户已经禁用提现
3006 BGErrNoWithdrawRecord 提现记录不存在 请查看生成提现记录接口
3007 BGErrWithdrawRecordFailed 提现记录审核失败 等待平台审核提现记录
3008 BGErrWithdrawFailed 提现记录审核失败 提现记录审核失败
50027 BGErrNoMoney 资金不足 请充值
2000000 BGErrNotAuthUser 用户尚未完成高级实名认证 请用户完成实名认证