1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #import "AlipayPlugin.h"
- #import <AlipaySDK/AlipaySDK.h>
- @implementation AlipayPlugin
- -(void)pluginInitialize{
- CDVViewController *viewController = (CDVViewController *)self.viewController;
- self.partner = [viewController.settings objectForKey:@"partner"];
- }
- - (void) pay:(CDVInvokedUrlCommand*)command
- {
- self.currentCallbackId = command.callbackId;
- //partner和seller获取失败,提示
- if ([self.partner length] == 0)
- {
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
- message:@"缺少partner。"
- delegate:self
- cancelButtonTitle:@"确定"
- otherButtonTitles:nil];
- [alert show];
- return;
- }
- //从API请求获取支付信息
- NSString *signedString = [command argumentAtIndex:0];
- if (signedString != nil) {
- [[AlipaySDK defaultService] payOrder:signedString fromScheme:[NSString stringWithFormat:@"a%@", self.partner] callback:^(NSDictionary *resultDic) {
- if ([[resultDic objectForKey:@"resultStatus"] isEqual: @"9000"]) {
- [self successWithCallbackID:self.currentCallbackId messageAsDictionary:resultDic];
- } else {
- [self failWithCallbackID:self.currentCallbackId messageAsDictionary:resultDic];
- }
-
- NSLog(@"reslut = %@",resultDic);
- }];
- }
- }
- - (void)handleOpenURL:(NSNotification *)notification
- {
- NSURL* url = [notification object];
-
- if ([url isKindOfClass:[NSURL class]] && [url.scheme isEqualToString:[NSString stringWithFormat:@"a%@", self.partner]])
- {
- [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
- if ([[resultDic objectForKey:@"resultStatus"] isEqual: @"9000"]) {
- [self successWithCallbackID:self.currentCallbackId messageAsDictionary:resultDic];
- } else {
- [self failWithCallbackID:self.currentCallbackId messageAsDictionary:resultDic];
- }
- }];
- }
- }
- - (void)successWithCallbackID:(NSString *)callbackID withMessage:(NSString *)message
- {
- CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:message];
- [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
- }
- - (void)failWithCallbackID:(NSString *)callbackID withMessage:(NSString *)message
- {
- CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:message];
- [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
- }
- - (void)successWithCallbackID:(NSString *)callbackID messageAsDictionary:(NSDictionary *)message
- {
- CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:message];
- [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
- }
- - (void)failWithCallbackID:(NSString *)callbackID messageAsDictionary:(NSDictionary *)message
- {
- CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:message];
- [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
- }
- @end
|