@rnw-community/react-native-payments 0.71.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/ios/Payments.mm +59 -33
  2. package/package.json +4 -4
package/ios/Payments.mm CHANGED
@@ -298,41 +298,67 @@ RCT_EXPORT_METHOD(canMakePayments: (NSString *)methodDataString
298
298
  }
299
299
 
300
300
  - (PKPaymentNetwork)paymentNetworkFromString:(NSString *)paymentNetworkString {
301
- if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkAmex"]) {
302
- return PKPaymentNetworkAmex;
303
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkDiscover"]) {
304
- return PKPaymentNetworkDiscover;
305
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkMasterCard"]) {
306
- return PKPaymentNetworkMasterCard;
307
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkVisa"]) {
308
- return PKPaymentNetworkVisa;
309
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkChinaUnionPay"]) {
310
- return PKPaymentNetworkChinaUnionPay;
311
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkInterac"]) {
312
- return PKPaymentNetworkInterac;
313
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkPrivateLabel"]) {
314
- return PKPaymentNetworkPrivateLabel;
315
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkSuica"]) {
316
- return PKPaymentNetworkSuica;
317
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkIDCredit"]) {
318
- return PKPaymentNetworkIDCredit;
319
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkQuicPay"]) {
320
- return PKPaymentNetworkQuicPay;
321
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkJCB"]) {
322
- return PKPaymentNetworkJCB;
323
- } else if (@available(iOS 12.0, *)) {
324
- if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkCartesBancaires"]) {
325
- return PKPaymentNetworkCartesBancaires;
326
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkVPay"]) {
327
- return PKPaymentNetworkVPay;
328
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkEftpos"]) {
329
- return PKPaymentNetworkEftpos;
330
- } else if ([paymentNetworkString isEqualToString:@"PKPaymentNetworkMaestro"]) {
331
- return PKPaymentNetworkMaestro;
301
+ static NSDictionary<NSString *, PKPaymentNetwork> *paymentNetworks;
302
+ static dispatch_once_t onceToken;
303
+ dispatch_once(&onceToken, ^{
304
+ paymentNetworks = @{
305
+ @"PKPaymentNetworkAmex": PKPaymentNetworkAmex,
306
+ @"PKPaymentNetworkDiscover": PKPaymentNetworkDiscover,
307
+ @"PKPaymentNetworkMasterCard": PKPaymentNetworkMasterCard,
308
+ @"PKPaymentNetworkVisa": PKPaymentNetworkVisa,
309
+ @"PKPaymentNetworkChinaUnionPay": PKPaymentNetworkChinaUnionPay,
310
+ @"PKPaymentNetworkInterac": PKPaymentNetworkInterac,
311
+ @"PKPaymentNetworkPrivateLabel": PKPaymentNetworkPrivateLabel,
312
+ @"PKPaymentNetworkSuica": PKPaymentNetworkSuica,
313
+ @"PKPaymentNetworkIDCredit": PKPaymentNetworkIDCredit,
314
+ @"PKPaymentNetworkQuicPay": PKPaymentNetworkQuicPay,
315
+ @"PKPaymentNetworkJCB": PKPaymentNetworkJCB,
316
+ @"PKPaymentNetworkMaestro": PKPaymentNetworkMaestro,
317
+ @"PKPaymentNetworkEftpos": PKPaymentNetworkEftpos,
318
+ @"PKPaymentNetworkCartesBancaires": PKPaymentNetworkCartesBancaires,
319
+ @"PKPaymentNetworkVPay": PKPaymentNetworkVPay,
320
+ @"PKPaymentNetworkMada": PKPaymentNetworkMada,
321
+ @"PKPaymentNetworkElectron": PKPaymentNetworkElectron,
322
+ @"PKPaymentNetworkElo": PKPaymentNetworkElo
323
+ };
324
+
325
+ if (@available(iOS 16.0, *)) {
326
+ NSMutableDictionary *mutablePaymentNetworks = [paymentNetworks mutableCopy];
327
+ mutablePaymentNetworks[@"PKPaymentNetworkBancontact"] = PKPaymentNetworkBancontact;
328
+ paymentNetworks = [mutablePaymentNetworks copy];
332
329
  }
333
- }
330
+
331
+ if (@available(iOS 15.1, *)) {
332
+ NSMutableDictionary *mutablePaymentNetworks = [paymentNetworks mutableCopy];
333
+ mutablePaymentNetworks[@"PKPaymentNetworkDankort"] = PKPaymentNetworkDankort;
334
+ paymentNetworks = [mutablePaymentNetworks copy];
335
+ }
336
+
337
+ if (@available(iOS 14.5, *)) {
338
+ NSMutableDictionary *mutablePaymentNetworks = [paymentNetworks mutableCopy];
339
+ // HINT: You should never work
340
+ mutablePaymentNetworks[@"PKPaymentNetworkMIR"] = PKPaymentNetworkMir;
341
+ paymentNetworks = [mutablePaymentNetworks copy];
342
+ }
343
+
344
+ if (@available(iOS 14.0, *)) {
345
+ NSMutableDictionary *mutablePaymentNetworks = [paymentNetworks mutableCopy];
346
+ mutablePaymentNetworks[@"PKPaymentNetworkGirocard"] = PKPaymentNetworkGirocard;
347
+ mutablePaymentNetworks[@"PKPaymentNetworkBarcode"] = PKPaymentNetworkBarcode;
348
+ paymentNetworks = [mutablePaymentNetworks copy];
349
+ }
350
+
351
+ if (@available(iOS 12.0, *)) {
352
+ NSMutableDictionary *mutablePaymentNetworks = [paymentNetworks mutableCopy];
353
+ mutablePaymentNetworks[@"PKPaymentNetworkCartesBancaires"] = PKPaymentNetworkCartesBancaires;
354
+ mutablePaymentNetworks[@"PKPaymentNetworkVPay"] = PKPaymentNetworkVPay;
355
+ mutablePaymentNetworks[@"PKPaymentNetworkEftpos"] = PKPaymentNetworkEftpos;
356
+ mutablePaymentNetworks[@"PKPaymentNetworkMaestro"] = PKPaymentNetworkMaestro;
357
+ paymentNetworks = [mutablePaymentNetworks copy];
358
+ }
359
+ });
334
360
 
335
- return PKPaymentNetworkUnknown;
361
+ return paymentNetworks[paymentNetworkString] ?: PKPaymentNetworkUnknown;
336
362
  }
337
363
 
338
364
  - (PKMerchantCapability)merchantCapabilityFromString:(NSString *)capabilityString {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rnw-community/react-native-payments",
3
- "version": "0.71.0",
3
+ "version": "0.73.0",
4
4
  "description": "React Native Payments",
5
5
  "keywords": [
6
6
  "react",
@@ -73,10 +73,10 @@
73
73
  "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
74
74
  "build:ios": "cd example/ios && xcodebuild -workspace PaymentsExample.xcworkspace -scheme PaymentsExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO"
75
75
  },
76
- "gitHead": "8e1a58aef4422c1fec6eb7e2edc6952292d0b6f6",
76
+ "gitHead": "ffafbcd7a5fb8c980bb9a49f2853c4282e2a802b",
77
77
  "dependencies": {
78
- "@rnw-community/platform": "0.71.0",
79
- "@rnw-community/shared": "0.71.0",
78
+ "@rnw-community/platform": "0.73.0",
79
+ "@rnw-community/shared": "0.73.0",
80
80
  "react-native-uuid": "^2.0.1",
81
81
  "validator": "^13.9.0"
82
82
  },