提交 471e6b7c authored 作者: JarvanMo's avatar JarvanMo

ios:pay

上级 5d2f6c3e
......@@ -4,10 +4,12 @@
#import "FluwxWXApiHandler.h"
@class FluwxShareHandler;
@class FluwxResponseHandler;
@class FluwxAuthHandler;
@class FluwxWXApiHandler;
@class FluwxPaymentHandler;
extern BOOL isWeChatRegistered;
......@@ -19,6 +21,8 @@ extern BOOL isWeChatRegistered;
@private
FluwxAuthHandler *_fluwxAuthHandler;
@private FluwxWXApiHandler *_fluwxWXApiHandler;
@private FluwxPaymentHandler *_fluwxPaymentHandler;
}
@end
......@@ -5,6 +5,7 @@
#import "FluwxAuthHandler.h"
#import "FluwxWXApiHandler.h"
#import "FluwxPaymentHandler.h"
@implementation FluwxPlugin
......@@ -30,6 +31,7 @@ BOOL isWeChatRegistered = NO;
_fluwxShareHandler = [[FluwxShareHandler alloc] initWithRegistrar:registrar];
_fluwxAuthHandler = [[FluwxAuthHandler alloc] initWithRegistrar:registrar];
_fluwxWXApiHandler = [[FluwxWXApiHandler alloc] init];
_fluwxPaymentHandler = [[FluwxPaymentHandler alloc] init];
}
return self;
......@@ -54,6 +56,11 @@ BOOL isWeChatRegistered = NO;
return;
}
if([@"pay" isEqualToString :call.method]){
[_fluwxPaymentHandler handlePayment:call result:result];
return;
}
if ([call.method hasPrefix:@"share"]) {
[_fluwxShareHandler handleShare:call result:result];
return;
......
......@@ -13,5 +13,29 @@
}
- (void)handlePayment:(FlutterMethodCall *)call result:(FlutterResult)result {
if (!isWeChatRegistered) {
result([FlutterError errorWithCode:resultErrorNeedWeChat message:resultMessageNeedWeChat details:nil]);
return;
}
if (![WXApi isWXAppInstalled]) {
result([FlutterError errorWithCode:@"wechat not installed" message:@"wechat not installed" details:nil]);
return;
}
NSString *partnerId = call.arguments[@"partnerId"];
NSString *prepayId = call.arguments[@"prepayId"];
NSString *packageValue = call.arguments[@"packageValue"];
NSString *nonceStr = call.arguments[@"nonceStr"];
UInt32 timeStamp = (UInt32) call.arguments[@"timeStamp"];
NSString *sign = call.arguments[@"sign"];
BOOL done = [WXApiRequestHandler sendPayment:@""
PartnerId:partnerId
PrepayId:prepayId
NonceStr:nonceStr
Timestamp:timeStamp
Package:packageValue
Sign:sign];
result(@{fluwxKeyPlatform: fluwxKeyIOS, fluwxKeyResult: @(done)});
}
@end
\ No newline at end of file
......@@ -138,7 +138,5 @@
NonceStr:(NSString *)nonceStr
Timestamp:(UInt32)timestamp
Package:(NSString *)package
Sign:(NSString *)sign
Description:(NSString *)description
;
Sign:(NSString *)sign;
@end
......@@ -384,7 +384,6 @@
Timestamp:(UInt32)timestamp
Package:(NSString *)package
Sign:(NSString *)sign
Description:(NSString *)description
{
PayReq *req = [[PayReq alloc] init];
req.partnerId = partnerId;
......@@ -395,6 +394,8 @@
req.sign = sign;
return [WXApi sendReq:req];
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论