@rnw-community/react-native-payments 0.54.12 → 0.55.1
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.
- package/dist/cjs/@standard/android/mapping/android-payment-method-data-data.interface.d.ts +2 -0
- package/dist/cjs/@standard/android/mapping/android-payment-method-data-data.interface.d.ts.map +1 -1
- package/dist/cjs/@standard/android/response/android-payment-method-token.d.ts +1 -0
- package/dist/cjs/@standard/android/response/android-payment-method-token.d.ts.map +1 -1
- package/dist/cjs/@standard/android/response/android-payment-method-token.js +1 -0
- package/dist/cjs/@standard/android/response/android-payment-method-token.js.map +1 -1
- package/dist/cjs/class/payment-request/payment-request.d.ts +1 -0
- package/dist/cjs/class/payment-request/payment-request.d.ts.map +1 -1
- package/dist/cjs/class/payment-request/payment-request.js +28 -4
- package/dist/cjs/class/payment-request/payment-request.js.map +1 -1
- package/dist/cjs/class/payment-response/android-payment-response.d.ts.map +1 -1
- package/dist/cjs/class/payment-response/android-payment-response.js +7 -6
- package/dist/cjs/class/payment-response/android-payment-response.js.map +1 -1
- package/dist/cjs/enum/supported-networks.enum.d.ts +19 -3
- package/dist/cjs/enum/supported-networks.enum.d.ts.map +1 -1
- package/dist/cjs/enum/supported-networks.enum.js +19 -3
- package/dist/cjs/enum/supported-networks.enum.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.build-cjs.tsbuildinfo +1 -1
- package/dist/esm/@standard/android/mapping/android-payment-method-data-data.interface.d.ts +2 -0
- package/dist/esm/@standard/android/mapping/android-payment-method-data-data.interface.d.ts.map +1 -1
- package/dist/esm/@standard/android/response/android-payment-method-token.d.ts +1 -0
- package/dist/esm/@standard/android/response/android-payment-method-token.d.ts.map +1 -1
- package/dist/esm/@standard/android/response/android-payment-method-token.js +1 -0
- package/dist/esm/@standard/android/response/android-payment-method-token.js.map +1 -1
- package/dist/esm/class/payment-request/payment-request.d.ts +1 -0
- package/dist/esm/class/payment-request/payment-request.d.ts.map +1 -1
- package/dist/esm/class/payment-request/payment-request.js +28 -4
- package/dist/esm/class/payment-request/payment-request.js.map +1 -1
- package/dist/esm/class/payment-response/android-payment-response.d.ts.map +1 -1
- package/dist/esm/class/payment-response/android-payment-response.js +7 -6
- package/dist/esm/class/payment-response/android-payment-response.js.map +1 -1
- package/dist/esm/enum/supported-networks.enum.d.ts +19 -3
- package/dist/esm/enum/supported-networks.enum.d.ts.map +1 -1
- package/dist/esm/enum/supported-networks.enum.js +19 -3
- package/dist/esm/enum/supported-networks.enum.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.build-esm.tsbuildinfo +1 -1
- package/package.json +4 -6
- package/src/@standard/android/mapping/android-payment-method-data-data.interface.ts +3 -0
- package/src/@standard/android/response/android-payment-method-token.ts +2 -0
- package/src/class/payment-request/payment-request.ts +31 -4
- package/src/class/payment-response/android-payment-response.ts +7 -6
- package/src/enum/supported-networks.enum.ts +19 -3
- package/src/index.ts +2 -0
|
@@ -43,6 +43,7 @@ export class PaymentRequest {
|
|
|
43
43
|
|
|
44
44
|
// Internal Slots https://www.w3.org/TR/payment-request/#internal-slots
|
|
45
45
|
private readonly serializedMethodData: string;
|
|
46
|
+
private readonly platformMethodData: AndroidPaymentMethodDataDataInterface | IosPaymentMethodDataDataInterface;
|
|
46
47
|
|
|
47
48
|
private acceptPromiseRejecter: (reason: unknown) => void = emptyFn;
|
|
48
49
|
|
|
@@ -65,11 +66,11 @@ export class PaymentRequest {
|
|
|
65
66
|
validateDisplayItems(details.displayItems, ConstructorError);
|
|
66
67
|
|
|
67
68
|
// 17. Set request.[[serializedMethodData]] to serializedMethodData. */
|
|
68
|
-
|
|
69
|
+
this.platformMethodData = this.findPlatformPaymentMethodData();
|
|
69
70
|
|
|
70
71
|
const nativePlatformMethodData = isAndroid
|
|
71
|
-
? this.getAndroidPaymentMethodData(platformMethodData as AndroidPaymentMethodDataDataInterface, details)
|
|
72
|
-
: this.getIosPaymentMethodData(platformMethodData as IosPaymentMethodDataDataInterface);
|
|
72
|
+
? this.getAndroidPaymentMethodData(this.platformMethodData as AndroidPaymentMethodDataDataInterface, details)
|
|
73
|
+
: this.getIosPaymentMethodData(this.platformMethodData as IosPaymentMethodDataDataInterface);
|
|
73
74
|
|
|
74
75
|
this.serializedMethodData = JSON.stringify(nativePlatformMethodData);
|
|
75
76
|
}
|
|
@@ -91,7 +92,15 @@ export class PaymentRequest {
|
|
|
91
92
|
if (this.state === 'created') {
|
|
92
93
|
this.state = 'interactive';
|
|
93
94
|
|
|
94
|
-
|
|
95
|
+
// HINT: We need to pass Android environment configuration to native module via details
|
|
96
|
+
const details = isAndroid
|
|
97
|
+
? {
|
|
98
|
+
...this.details,
|
|
99
|
+
environment: (this.platformMethodData as AndroidPaymentMethodDataDataInterface).environment,
|
|
100
|
+
}
|
|
101
|
+
: this.details;
|
|
102
|
+
|
|
103
|
+
NativePayments.show(this.serializedMethodData, details)
|
|
95
104
|
.then(jsonDetails => {
|
|
96
105
|
resolve(this.handleAccept(jsonDetails));
|
|
97
106
|
|
|
@@ -168,6 +177,8 @@ export class PaymentRequest {
|
|
|
168
177
|
allowedCardNetworks: methodData.supportedNetworks.map(
|
|
169
178
|
network => network.toUpperCase() as AndroidAllowedCardNetworksEnum
|
|
170
179
|
),
|
|
180
|
+
allowedAuthMethods:
|
|
181
|
+
methodData.allowedAuthMethods ?? defaultAndroidPaymentMethod.parameters.allowedAuthMethods,
|
|
171
182
|
...(methodData.requestBilling === true && {
|
|
172
183
|
billingAddressRequired: true,
|
|
173
184
|
billingAddressParameters: {
|
|
@@ -207,6 +218,22 @@ export class PaymentRequest {
|
|
|
207
218
|
[SupportedNetworkEnum.Amex]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
208
219
|
[SupportedNetworkEnum.Mastercard]: IosPKPaymentNetworksEnum.PKPaymentNetworkMasterCard,
|
|
209
220
|
[SupportedNetworkEnum.Visa]: IosPKPaymentNetworksEnum.PKPaymentNetworkVisa,
|
|
221
|
+
[SupportedNetworkEnum.Discover]: IosPKPaymentNetworksEnum.PKPaymentNetworkDiscover,
|
|
222
|
+
[SupportedNetworkEnum.Bancontact]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
223
|
+
[SupportedNetworkEnum.CartesBancaires]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
224
|
+
[SupportedNetworkEnum.ChinaUnionPay]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
225
|
+
[SupportedNetworkEnum.Dankort]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
226
|
+
[SupportedNetworkEnum.Eftpos]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
227
|
+
[SupportedNetworkEnum.Electron]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
228
|
+
[SupportedNetworkEnum.Elo]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
229
|
+
[SupportedNetworkEnum.Girocard]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
230
|
+
[SupportedNetworkEnum.Interac]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
231
|
+
[SupportedNetworkEnum.Jcb]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
232
|
+
[SupportedNetworkEnum.Mada]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
233
|
+
[SupportedNetworkEnum.Maestro]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
234
|
+
[SupportedNetworkEnum.Mir]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
235
|
+
[SupportedNetworkEnum.PrivateLabel]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
236
|
+
[SupportedNetworkEnum.Vpay]: IosPKPaymentNetworksEnum.PKPaymentNetworkAmex,
|
|
210
237
|
};
|
|
211
238
|
|
|
212
239
|
const defaultMerchantCapabilities = [
|
|
@@ -41,20 +41,21 @@ export class AndroidPaymentResponse extends PaymentResponse {
|
|
|
41
41
|
return emptyAndroidPaymentMethodToken;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const
|
|
44
|
+
const parsedToken = JSON.parse(input) as AndroidRawPaymentMethodToken;
|
|
45
45
|
|
|
46
46
|
return {
|
|
47
47
|
...emptyAndroidPaymentMethodToken,
|
|
48
|
-
...
|
|
48
|
+
...parsedToken,
|
|
49
|
+
rawToken: input,
|
|
49
50
|
intermediateSigningKey: {
|
|
50
|
-
...(isDefined(
|
|
51
|
+
...(isDefined(parsedToken.intermediateSigningKey)
|
|
51
52
|
? {
|
|
52
|
-
...
|
|
53
|
-
signedKey: JSON.parse(
|
|
53
|
+
...parsedToken.intermediateSigningKey,
|
|
54
|
+
signedKey: JSON.parse(parsedToken.intermediateSigningKey.signedKey) as AndroidSignedKey,
|
|
54
55
|
}
|
|
55
56
|
: emptyAndroidIntermediateSigningKey),
|
|
56
57
|
},
|
|
57
|
-
signedMessage: JSON.parse(
|
|
58
|
+
signedMessage: JSON.parse(parsedToken.signedMessage) as AndroidSignedMessage,
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
61
|
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
export enum SupportedNetworkEnum {
|
|
2
|
-
Amex = '
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
Amex = 'amex',
|
|
3
|
+
Bancontact = 'bancontact',
|
|
4
|
+
CartesBancaires = 'cartesBancaires',
|
|
5
|
+
ChinaUnionPay = 'chinaUnionPay',
|
|
6
|
+
Dankort = 'dankort',
|
|
7
|
+
Discover = 'discover',
|
|
8
|
+
Eftpos = 'eftpos',
|
|
9
|
+
Electron = 'electron',
|
|
10
|
+
Elo = 'elo',
|
|
11
|
+
Girocard = 'girocard',
|
|
12
|
+
Interac = 'interac',
|
|
13
|
+
Jcb = 'jcb',
|
|
14
|
+
Mada = 'mada',
|
|
15
|
+
Maestro = 'maestro',
|
|
16
|
+
Mastercard = 'masterCard',
|
|
17
|
+
Mir = 'mir',
|
|
18
|
+
PrivateLabel = 'privateLabel',
|
|
19
|
+
Visa = 'visa',
|
|
20
|
+
Vpay = 'vPay',
|
|
5
21
|
}
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { PaymentComplete } from './enum/payment-complete.enum';
|
|
|
4
4
|
export { PaymentsErrorEnum } from './enum/payments-error.enum';
|
|
5
5
|
export { SupportedNetworkEnum } from './enum/supported-networks.enum';
|
|
6
6
|
export type { PaymentDetailsInit } from './@standard/w3c/payment-details-init';
|
|
7
|
+
export type { PaymentItem } from './@standard/w3c/payment-item';
|
|
7
8
|
|
|
8
9
|
export { IosPKMerchantCapability } from './@standard/ios/enum/ios-pk-merchant-capability.enum';
|
|
9
10
|
|
|
@@ -12,6 +13,7 @@ export type { PaymentMethodData } from './@standard/w3c/payment-method-data';
|
|
|
12
13
|
export type { AndroidPaymentMethodDataDataInterface } from './@standard/android/mapping/android-payment-method-data-data.interface';
|
|
13
14
|
export type { AndroidPaymentMethodDataInterface } from './@standard/android/mapping/android-payment-method-data.interface';
|
|
14
15
|
export type { AndroidPaymentMethodToken } from './@standard/android/response/android-payment-method-token';
|
|
16
|
+
export { AndroidAllowedAuthMethodsEnum } from './@standard/android/enum/android-allowed-auth-methods.enum';
|
|
15
17
|
export { AndroidPaymentResponse } from './class/payment-response/android-payment-response';
|
|
16
18
|
|
|
17
19
|
export type { IosPaymentMethodDataDataInterface } from './@standard/ios/mapping/ios-payment-method-data-data.interface';
|