测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新发布 | 2017年6月 |
由 xqwang 维护。
依赖项 | |
AFNetworking | ~> 3.0 |
MBProgressHUD | >= 0 |
Masonry | >= 0 |
SDWebImage | >= 0 |
优点付费聚合了支付宝、微信、银联等多家支付渠道,向开发者提供统一的付费功能接入体验,为开发者降低付费功能的接入成本。
/**
* appId:应用在优点后台申请的应用惟一标识ID
* developKey:优点分配给应用的公钥
**/
+(void)initWithAppId:(NSString*)appId developKey:(NSString*)developKey;
/**
* orderId:本次付费行为的惟一标识,需要开发者确保其值的全局惟一
* orderName:本次付费行为的具体说明
* useId:付费用户的账号Id
* productNo:本次付费购买的具体信息,用于在支付宝、微信等支付界面显示,告知用户购买的具体物品
* amount:本次付费的总金额
* param:付费成功后回调的具体参数信息
**/
+(void)pay:(NSString*)orderId orderName:(NSString*)orderName userId:(NSString*)userId productNo:(NSString*)productNo amount:(NSUInteger)amount param:(NSString*)param;
在调用付费前,开发者需要调用其它接口设置一些额外的信息,接口定义如下:
//设置应用的scheme,用于付费成功后从付费应用(支付宝、微信)跳转回自身
+(void)setAppScheme:(NSString*)scheme;
//设置付费结果回调,开发者需要实现YDPayDelegate协议,具体参见付费回调说明
+(void)setDelegate:(id<YDPayDelegate>)delegate;
//设置渠道ID
+(void)setChannelId:(NSString*)channelId;
开发者需要在自己代码中实现以下回调协议接口
/**
* result:付费结果,具体值参见YDPayStatus枚举
* data:付费失败时,为字符串类型,表示付费失败的具体原因,付费成功时,为字典型,根据支付的具体方式,其表示支付完成后的具体支付信息,也可能因其它原因导致该值为nil
**/
+(void)payResult:(YDPayStatus)result data:(id)data
-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{
[YDPay initWithAppId:@"testAppId" developKey:@"testDevelopKey"];
[YDPay setAppScheme:@"YDPayDemo"];
[YDPay setDelegate:self];
return YES;
}
-(void)buyGoods{
NSString* orderID = [self generateTradeNO];
[YDPay pay:orderID orderName:@"购买元宝" userId:self.account.accountId productNo:@"元宝" amount:1 param:nil];
}
-(void)payResult:(YDPayStatus)result data:(id)data{
NSLog(@"pay result = %@ reason = %@", (result == YD_SUCCESS)? @"success":@"failed", data);
}