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

ios:pay

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