UNPKG

3.37 kBPlain TextView Raw
1//
2// RazorpayCheckout.m
3// RazorpayCheckout
4//
5// Created by Akshay Bhalotia on 29/08/16.
6// Copyright © 2016 Razorpay. All rights reserved.
7//
8
9#import "RazorpayCheckout.h"
10#import "RazorpayEventEmitter.h"
11
12#import <Razorpay/Razorpay-Swift.h>
13
14typedef RazorpayCheckout Razorpay;
15
16@interface RNRazorpayCheckout () <RazorpayPaymentCompletionProtocolWithData,
17ExternalWalletSelectionProtocol>
18
19@end
20
21@implementation RNRazorpayCheckout
22
23RCT_EXPORT_MODULE()
24
25RCT_EXPORT_METHOD(open : (NSDictionary *)options) {
26
27 NSString *keyID = (NSString *)[options objectForKey:@"key"];
28 dispatch_sync(dispatch_get_main_queue(), ^{
29 Razorpay *razorpay = [Razorpay initWithKey:keyID
30 andDelegateWithData:self];
31 [razorpay setExternalWalletSelectionDelegate:self];
32
33 NSMutableDictionary * tempOptions = [[NSMutableDictionary alloc] initWithDictionary:options];
34// tempOptions[@"integration_version"] = [self findReactNativeVersion];
35 tempOptions[@"integration"] = @"react-native";
36 tempOptions[@"FRAMEWORK"] = @"react-native";
37 [razorpay open:tempOptions];
38 });
39}
40
41/*
42- (NSString *)findReactNativeVersion {
43 static dispatch_once_t onceToken;
44 static NSString *BSGReactNativeVersion = nil;
45 dispatch_once(&onceToken, ^{
46 #ifdef RCT_REACT_NATIVE_VERSION
47 // for react-native versions prior 0.55
48 // see https://github.com/react-native-community/releases/blob/451f8e7fa53f80daec9c2381c7984bee73efa51d/CHANGELOG.md#ios-specific-additions
49 NSDictionary *versionMap = RCT_REACT_NATIVE_VERSION;
50 #else
51 NSDictionary *versionMap = RCTGetReactNativeVersion();
52 #endif
53 NSNumber *major = versionMap[@"major"];
54 NSNumber *minor = versionMap[@"minor"];
55 NSNumber *patch = versionMap[@"patch"];
56 NSString *prerelease = versionMap[@"prerelease"];
57 NSMutableString *versionString = [NSMutableString new];
58
59 if (![major isEqual:[NSNull null]]) {
60 [versionString appendString:[major stringValue]];
61 [versionString appendString:@"."];
62 }
63 if (![minor isEqual:[NSNull null]]) {
64 [versionString appendString:[minor stringValue]];
65 [versionString appendString:@"."];
66 }
67 if (![patch isEqual:[NSNull null]]) {
68 [versionString appendString:[patch stringValue]];
69 }
70 if (![prerelease isEqual:[NSNull null]]) {
71 [versionString appendString:@"-"];
72 [versionString appendString:prerelease];
73 }
74 BSGReactNativeVersion = [NSString stringWithString:versionString];
75 });
76 return BSGReactNativeVersion;
77}
78*/
79
80- (void)onPaymentSuccess:(nonnull NSString *)payment_id
81 andData:(nullable NSDictionary *)response {
82 [RazorpayEventEmitter onPaymentSuccess:payment_id andData:response];
83}
84
85- (void)onPaymentError:(int)code
86 description:(nonnull NSString *)str
87 andData:(nullable NSDictionary *)response {
88 [RazorpayEventEmitter onPaymentError:code description:str andData:response];
89}
90
91- (void)onExternalWalletSelected:(nonnull NSString *)walletName
92 WithPaymentData:(nullable NSDictionary *)paymentData {
93 [RazorpayEventEmitter onExternalWalletSelected:walletName
94 andData:paymentData];
95}
96
97@end