@rebilly/framepay-react 7.2.1 → 8.1.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.
- package/CHANGELOG.md +6 -1
- package/README.md +24 -18
- package/build/index.d.ts +3 -3
- package/build/index.js +3 -2
- package/build/index.spec.js +2 -1
- package/build/lib/components/elements/samsungpay-element.d.ts +4 -0
- package/build/lib/components/elements/samsungpay-element.js +57 -0
- package/build/lib/components/injector.d.ts +51 -1
- package/build/lib/components/injector.js +43 -9
- package/package.json +1 -1
- package/src/index.spec.ts +1 -0
- package/src/index.ts +4 -0
- package/src/lib/components/elements/samsungpay-element.tsx +36 -0
- package/src/lib/components/injector.tsx +53 -0
- package/test/e2e/fixtures/nav.js +1 -0
- package/test/e2e/fixtures/samsung-pay.html +15 -0
- package/test/e2e/fixtures/samsung-pay.js +59 -0
- package/types/elements.d.ts +13 -0
- package/types/injector.d.ts +6 -0
- package/types/rebilly/api.d.ts +1 -0
- package/types/rebilly/payment-elements/elements/samsungpay.d.ts +18 -0
- package/types/rebilly/payment-elements/payment-element-names.d.ts +1 -0
- package/types/rebilly/settings.d.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [8.1.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v8.0.0...framepay-react-v8.1.0) (2024-11-14)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **framepay-react:** add samsung-pay ([#8436](https://github.com/Rebilly/rebilly/issues/8436)) ([fd93a05](https://github.com/Rebilly/rebilly/commit/fd93a05853926c16ea9d83a5fe5ea678d7fafb47))
|
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ This package is a wrapper for [FramePay](https://www.rebilly.com/docs/dev-docs/f
|
|
|
23
23
|
- [withFramePayCardComponent (Card props)](#withframepaycardcomponent-card-props)
|
|
24
24
|
- [withFramePayBankComponent (Bank props)](#withframepaybankcomponent-bank-props)
|
|
25
25
|
- [withFramePayApplePayComponent (Apple Pay props)](#withframepayapplepaycomponent-apple-pay-props)
|
|
26
|
+
- [withFramePaySamsungPayComponent (Samsung Pay props)](#withframepaysamsungpaycomponent-samsung-pay-props)
|
|
26
27
|
- [withFramePayGooglePayComponent (Google Pay props)](#withframepaygooglepaycomponent-google-pay-props)
|
|
27
28
|
- [withFramePayPaypalComponent (Paypal props)](#withframepaypaypalcomponent-paypal-props)
|
|
28
29
|
- [With FramePay (`withFramePay`) HOC](#with-framepay-withframepay-hoc)
|
|
@@ -42,16 +43,16 @@ This package is a wrapper for [FramePay](https://www.rebilly.com/docs/dev-docs/f
|
|
|
42
43
|
### FramePay documentation
|
|
43
44
|
For more information on FramePay see its [official documentation](https://www.rebilly.com/docs/dev-docs/framepay/).
|
|
44
45
|
|
|
45
|
-
### Demos
|
|
46
|
-
- [Use with react-redux (CodeSandbox)](https://codesandbox.io/s/n089y731x4)
|
|
47
|
-
- [Use with react-router (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4)
|
|
46
|
+
### Demos
|
|
47
|
+
- [Use with react-redux (CodeSandbox)](https://codesandbox.io/s/n089y731x4)
|
|
48
|
+
- [Use with react-router (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4)
|
|
48
49
|
- [Examples from README file (CodeSandbox, React 14/15)](https://codesandbox.io/s/8ly7ml77y9)
|
|
49
|
-
- [Multiple Payment Methods (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
|
|
50
|
-
- [Multiple Payment Methods Short version (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethodsShort.js)
|
|
51
|
-
- [Separated fields for the payment card method (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/PaymentCardSeparated.js)
|
|
52
|
-
- [Other Payment Methods (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/OtherPaymentMethods.js)
|
|
53
|
-
- [TypeScript (CodeSandbox)](https://codesandbox.io/s/j74n80zk5w)
|
|
54
|
-
- [More examples from the E2E tests](test/e2e/fixtures)
|
|
50
|
+
- [Multiple Payment Methods (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
|
|
51
|
+
- [Multiple Payment Methods Short version (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethodsShort.js)
|
|
52
|
+
- [Separated fields for the payment card method (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/PaymentCardSeparated.js)
|
|
53
|
+
- [Other Payment Methods (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/OtherPaymentMethods.js)
|
|
54
|
+
- [TypeScript (CodeSandbox)](https://codesandbox.io/s/j74n80zk5w)
|
|
55
|
+
- [More examples from the E2E tests](test/e2e/fixtures)
|
|
55
56
|
|
|
56
57
|
### Installation
|
|
57
58
|
Install using [Yarn](https://yarnpkg.com/en/):
|
|
@@ -69,7 +70,7 @@ npm install @rebilly/framepay-react --save
|
|
|
69
70
|
> The example described in this readme can be found [here (CodeSandbox)](https://codesandbox.io/s/8ly7ml77y9)
|
|
70
71
|
|
|
71
72
|
#### The FramePay context (`FramePayProvider`)
|
|
72
|
-
FramePayProvider provides settings to the FramePay API. See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for a list of all configuration options.
|
|
73
|
+
FramePayProvider provides settings to the FramePay API. See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for a list of all configuration options.
|
|
73
74
|
|
|
74
75
|
```jsx harmony
|
|
75
76
|
// index.js
|
|
@@ -98,9 +99,9 @@ publishableKey="pk_sandbox_1234567890"
|
|
|
98
99
|
#### Setting up your payment form
|
|
99
100
|
|
|
100
101
|
###### WARNING
|
|
101
|
-
Please, don't implementing the unmount functionality, use the examples.
|
|
102
|
+
Please, don't implementing the unmount functionality, use the examples.
|
|
102
103
|
|
|
103
|
-
The react lifecycle methods already implemented in the library.
|
|
104
|
+
The react lifecycle methods already implemented in the library.
|
|
104
105
|
|
|
105
106
|
###### withFramePay (All props)
|
|
106
107
|
- Framepay - [FramePay's namespace](https://www.rebilly.com/docs/dev-docs/framepay-global-reference)
|
|
@@ -112,6 +113,7 @@ The react lifecycle methods already implemented in the library.
|
|
|
112
113
|
- `CardExpiryElement`
|
|
113
114
|
- `CardNumberElement`
|
|
114
115
|
- `ApplePayElement`
|
|
116
|
+
- `SamsungPayElement`
|
|
115
117
|
- `GooglePayElement`
|
|
116
118
|
- `PaypalElement`
|
|
117
119
|
|
|
@@ -119,7 +121,7 @@ The react lifecycle methods already implemented in the library.
|
|
|
119
121
|
- Framepay
|
|
120
122
|
- `CardElement`
|
|
121
123
|
- `CardCvvElement`
|
|
122
|
-
- `CardExpiryElement`
|
|
124
|
+
- `CardExpiryElement`
|
|
123
125
|
- `CardNumberElement`
|
|
124
126
|
|
|
125
127
|
###### withFramePayBankComponent (Bank props)
|
|
@@ -132,6 +134,10 @@ The react lifecycle methods already implemented in the library.
|
|
|
132
134
|
- Framepay
|
|
133
135
|
- `ApplePayElement`
|
|
134
136
|
|
|
137
|
+
###### withFramePaySamsungPayComponent (Samsung Pay props)
|
|
138
|
+
- Framepay
|
|
139
|
+
- `SamsungPayElement`
|
|
140
|
+
|
|
135
141
|
###### withFramePayGooglePayComponent (Google Pay props)
|
|
136
142
|
- Framepay
|
|
137
143
|
- `GooglePayElement`
|
|
@@ -141,11 +147,11 @@ The react lifecycle methods already implemented in the library.
|
|
|
141
147
|
- `PaypalElement`
|
|
142
148
|
|
|
143
149
|
##### With FramePay (`withFramePay`) HOC
|
|
144
|
-
This simple FramePay HOC is used to provide the `Framepay` API in your component. It is most commonly used in combination with multiple payment methods.
|
|
150
|
+
This simple FramePay HOC is used to provide the `Framepay` API in your component. It is most commonly used in combination with multiple payment methods.
|
|
145
151
|
|
|
146
|
-
- [Payment cards and ACH (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
|
|
147
|
-
- [Payment cards and ACH Short version (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethodsShort.js)
|
|
148
|
-
- [Alternative methods (Bitcoin) (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/OtherPaymentMethods.js)
|
|
152
|
+
- [Payment cards and ACH (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
|
|
153
|
+
- [Payment cards and ACH Short version (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethodsShort.js)
|
|
154
|
+
- [Alternative methods (Bitcoin) (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/OtherPaymentMethods.js)
|
|
149
155
|
|
|
150
156
|
##### Card elements (`withFramePayCardComponent`) HOC
|
|
151
157
|
|
|
@@ -269,7 +275,7 @@ export default withFramePayBankComponent(MyBankPageComponent);
|
|
|
269
275
|
The **framepay-react** package supports all the [FramePay](https://www.rebilly.com/docs/dev-docs/framepay/) initialization settings.
|
|
270
276
|
See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for all customizations.
|
|
271
277
|
|
|
272
|
-
Additionally `injectStyle` is available. When defined in the `FramePayProvider` it will add the default FramePay CSS in the header of your application.
|
|
278
|
+
Additionally `injectStyle` is available. When defined in the `FramePayProvider` it will add the default FramePay CSS in the header of your application.
|
|
273
279
|
|
|
274
280
|
```jsx harmony
|
|
275
281
|
<FramePayProvider injectStyle publishableKey="pk_sandbox_1234567890">
|
package/build/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SUPPORTED_CARD_BRANDS } from './lib/constants';
|
|
2
|
-
import { withFramePay, withFramePayApplePayComponent, withFramePayBankComponent, withFramePayCardComponent, withFramePayGooglePayComponent, withFramePayIBANComponent, withFramePayPaypalComponent } from './lib/components/injector';
|
|
2
|
+
import { withFramePay, withFramePayApplePayComponent, withFramePaySamsungPayComponent, withFramePayBankComponent, withFramePayCardComponent, withFramePayGooglePayComponent, withFramePayIBANComponent, withFramePayPaypalComponent } from './lib/components/injector';
|
|
3
3
|
import FramePayProvider from './lib/components/provider';
|
|
4
|
-
import { FramePayApplePayProps, FramePayBankProps, FramePayCardProps, FramePayComponentProps, FramePayGooglePayProps, FramePayIBANProps, FramePayPaypalProps } from '../types/injector';
|
|
5
|
-
export { SUPPORTED_CARD_BRANDS, FramePayProvider, withFramePay, withFramePayCardComponent, withFramePayBankComponent, withFramePayIBANComponent, withFramePayApplePayComponent, withFramePayGooglePayComponent, withFramePayPaypalComponent, FramePayComponentProps, FramePayCardProps, FramePayBankProps, FramePayIBANProps, FramePayApplePayProps, FramePayGooglePayProps, FramePayPaypalProps, };
|
|
4
|
+
import { FramePayApplePayProps, FramePaySamsungPayProps, FramePayBankProps, FramePayCardProps, FramePayComponentProps, FramePayGooglePayProps, FramePayIBANProps, FramePayPaypalProps } from '../types/injector';
|
|
5
|
+
export { SUPPORTED_CARD_BRANDS, FramePayProvider, withFramePay, withFramePayCardComponent, withFramePayBankComponent, withFramePayIBANComponent, withFramePayApplePayComponent, withFramePaySamsungPayComponent, withFramePayGooglePayComponent, withFramePayPaypalComponent, FramePayComponentProps, FramePayCardProps, FramePayBankProps, FramePayIBANProps, FramePayApplePayProps, FramePaySamsungPayProps, FramePayGooglePayProps, FramePayPaypalProps, };
|
package/build/index.js
CHANGED
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.withFramePayPaypalComponent = exports.withFramePayGooglePayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = exports.FramePayProvider = exports.SUPPORTED_CARD_BRANDS = void 0;
|
|
6
|
+
exports.withFramePayPaypalComponent = exports.withFramePayGooglePayComponent = exports.withFramePaySamsungPayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = exports.FramePayProvider = exports.SUPPORTED_CARD_BRANDS = void 0;
|
|
7
7
|
var constants_1 = require("./lib/constants");
|
|
8
8
|
Object.defineProperty(exports, "SUPPORTED_CARD_BRANDS", { enumerable: true, get: function () { return constants_1.SUPPORTED_CARD_BRANDS; } });
|
|
9
9
|
var injector_1 = require("./lib/components/injector");
|
|
10
10
|
Object.defineProperty(exports, "withFramePay", { enumerable: true, get: function () { return injector_1.withFramePay; } });
|
|
11
11
|
Object.defineProperty(exports, "withFramePayApplePayComponent", { enumerable: true, get: function () { return injector_1.withFramePayApplePayComponent; } });
|
|
12
|
+
Object.defineProperty(exports, "withFramePaySamsungPayComponent", { enumerable: true, get: function () { return injector_1.withFramePaySamsungPayComponent; } });
|
|
12
13
|
Object.defineProperty(exports, "withFramePayBankComponent", { enumerable: true, get: function () { return injector_1.withFramePayBankComponent; } });
|
|
13
14
|
Object.defineProperty(exports, "withFramePayCardComponent", { enumerable: true, get: function () { return injector_1.withFramePayCardComponent; } });
|
|
14
15
|
Object.defineProperty(exports, "withFramePayGooglePayComponent", { enumerable: true, get: function () { return injector_1.withFramePayGooglePayComponent; } });
|
|
@@ -16,4 +17,4 @@ Object.defineProperty(exports, "withFramePayIBANComponent", { enumerable: true,
|
|
|
16
17
|
Object.defineProperty(exports, "withFramePayPaypalComponent", { enumerable: true, get: function () { return injector_1.withFramePayPaypalComponent; } });
|
|
17
18
|
var provider_1 = __importDefault(require("./lib/components/provider"));
|
|
18
19
|
exports.FramePayProvider = provider_1.default;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQXdEO0FBMkJwRCxzR0EzQkssaUNBQXFCLE9BMkJMO0FBekJ6QixzREFTbUM7QUFrQi9CLDZGQTFCQSx1QkFBWSxPQTBCQTtBQUlaLDhHQTdCQSx3Q0FBNkIsT0E2QkE7QUFDN0IsZ0hBN0JBLDBDQUErQixPQTZCQTtBQUgvQiwwR0F6QkEsb0NBQXlCLE9BeUJBO0FBRHpCLDBHQXZCQSxvQ0FBeUIsT0F1QkE7QUFLekIsK0dBM0JBLHlDQUE4QixPQTJCQTtBQUg5QiwwR0F2QkEsb0NBQXlCLE9BdUJBO0FBSXpCLDRHQTFCQSxzQ0FBMkIsT0EwQkE7QUF2Qi9CLHVFQUF5RDtBQWVyRCwyQkFmRyxrQkFBZ0IsQ0FlSCJ9
|
package/build/index.spec.js
CHANGED
|
@@ -29,6 +29,7 @@ var exportKeys = [
|
|
|
29
29
|
'FramePayProvider',
|
|
30
30
|
'withFramePay',
|
|
31
31
|
'withFramePayApplePayComponent',
|
|
32
|
+
'withFramePaySamsungPayComponent',
|
|
32
33
|
'withFramePayCardComponent',
|
|
33
34
|
'withFramePayBankComponent',
|
|
34
35
|
'withFramePayGooglePayComponent',
|
|
@@ -40,4 +41,4 @@ describe('lib/index', function () {
|
|
|
40
41
|
expect(Object.keys(lib).sort()).toEqual(exportKeys);
|
|
41
42
|
});
|
|
42
43
|
});
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBK0I7QUFFL0IsSUFBTSxVQUFVLEdBQTBCO0lBQ3RDLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLDZCQUE2QjtDQUNoQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRVQsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNsQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
var framepay_error_1 = __importDefault(require("../../framepay-error"));
|
|
22
|
+
var base_element_1 = __importDefault(require("./base-element"));
|
|
23
|
+
var SamsungPayElement = /** @class */ (function (_super) {
|
|
24
|
+
__extends(SamsungPayElement, _super);
|
|
25
|
+
function SamsungPayElement() {
|
|
26
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
27
|
+
}
|
|
28
|
+
SamsungPayElement.prototype.setupElement = function () {
|
|
29
|
+
var _this = this;
|
|
30
|
+
var Framepay = this.props.Framepay;
|
|
31
|
+
var makeElement = function () {
|
|
32
|
+
// elementNode already checked in BaseElement.handleSetupElement
|
|
33
|
+
// just ts checks fix
|
|
34
|
+
if (!_this.elementNode) {
|
|
35
|
+
throw (0, framepay_error_1.default)({
|
|
36
|
+
code: framepay_error_1.default.codes.elementMountError,
|
|
37
|
+
details: "SamsungPayElement invalid elementNode",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
return Framepay.samsungPay.mount(_this.elementNode);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw (0, framepay_error_1.default)({
|
|
45
|
+
code: framepay_error_1.default.codes.elementMountError,
|
|
46
|
+
details: "SamsungPayElement error in remote api call",
|
|
47
|
+
trace: e,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var element = makeElement();
|
|
52
|
+
this.setState({ element: element });
|
|
53
|
+
};
|
|
54
|
+
return SamsungPayElement;
|
|
55
|
+
}(base_element_1.default));
|
|
56
|
+
exports.default = SamsungPayElement;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Ftc3VuZ3BheS1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL3NhbXN1bmdwYXktZWxlbWVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx3RUFBaUQ7QUFDakQsZ0VBQXlDO0FBRXpDO0lBQStDLHFDQUc5QztJQUhEOztJQStCQSxDQUFDO0lBM0JHLHdDQUFZLEdBQVo7UUFBQSxpQkEwQkM7UUF6QlcsSUFBQSxRQUFRLEdBQUssSUFBSSxDQUFDLEtBQUssU0FBZixDQUFnQjtRQUVoQyxJQUFNLFdBQVcsR0FBRztZQUNoQixnRUFBZ0U7WUFDaEUscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sSUFBQSx3QkFBYSxFQUFDO29CQUNoQixJQUFJLEVBQUUsd0JBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO29CQUMzQyxPQUFPLEVBQUUsdUNBQXVDO2lCQUNuRCxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUNELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNULE1BQU0sSUFBQSx3QkFBYSxFQUFDO29CQUNoQixJQUFJLEVBQUUsd0JBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO29CQUMzQyxPQUFPLEVBQUUsNENBQTRDO29CQUNyRCxLQUFLLEVBQUUsQ0FBQztpQkFDWCxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsSUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sU0FBQSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0wsd0JBQUM7QUFBRCxDQUFDLEFBL0JELENBQStDLHNCQUFXLEdBK0J6RCJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { FramePayApplePayProps, FramePayBankProps, FramePayCardProps, FramePayComponentProps, FramePayGooglePayProps, FramePayIBANProps, FramePayPaypalProps } from '../../../types/injector';
|
|
2
|
+
import type { FramePayApplePayProps, FramePaySamsungPayProps, FramePayBankProps, FramePayCardProps, FramePayComponentProps, FramePayGooglePayProps, FramePayIBANProps, FramePayPaypalProps } from '../../../types/injector';
|
|
3
3
|
export declare function withFramePay<OriginalProps extends object>(WrappedComponent: React.ComponentType<OriginalProps & FramePayComponentProps>): {
|
|
4
4
|
new (props: OriginalProps | Readonly<OriginalProps>): {
|
|
5
5
|
render(): JSX.Element;
|
|
@@ -250,6 +250,56 @@ export declare function withFramePayApplePayComponent<OriginalProps extends obje
|
|
|
250
250
|
readonly displayName: string;
|
|
251
251
|
contextType?: React.Context<any> | undefined;
|
|
252
252
|
};
|
|
253
|
+
export declare function withFramePaySamsungPayComponent<OriginalProps extends object>(WrappedComponent: React.ComponentType<OriginalProps & FramePaySamsungPayProps>): {
|
|
254
|
+
new (props: OriginalProps | Readonly<OriginalProps>): {
|
|
255
|
+
render(): JSX.Element;
|
|
256
|
+
context: unknown;
|
|
257
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<OriginalProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
258
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
259
|
+
readonly props: Readonly<OriginalProps>;
|
|
260
|
+
state: Readonly<{}>;
|
|
261
|
+
refs: {
|
|
262
|
+
[key: string]: React.ReactInstance;
|
|
263
|
+
};
|
|
264
|
+
componentDidMount?(): void;
|
|
265
|
+
shouldComponentUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
266
|
+
componentWillUnmount?(): void;
|
|
267
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
268
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<OriginalProps>, prevState: Readonly<{}>): any;
|
|
269
|
+
componentDidUpdate?(prevProps: Readonly<OriginalProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
270
|
+
componentWillMount?(): void;
|
|
271
|
+
UNSAFE_componentWillMount?(): void;
|
|
272
|
+
componentWillReceiveProps?(nextProps: Readonly<OriginalProps>, nextContext: any): void;
|
|
273
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<OriginalProps>, nextContext: any): void;
|
|
274
|
+
componentWillUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
275
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
276
|
+
};
|
|
277
|
+
new (props: OriginalProps, context: any): {
|
|
278
|
+
render(): JSX.Element;
|
|
279
|
+
context: unknown;
|
|
280
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<OriginalProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
281
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
282
|
+
readonly props: Readonly<OriginalProps>;
|
|
283
|
+
state: Readonly<{}>;
|
|
284
|
+
refs: {
|
|
285
|
+
[key: string]: React.ReactInstance;
|
|
286
|
+
};
|
|
287
|
+
componentDidMount?(): void;
|
|
288
|
+
shouldComponentUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
289
|
+
componentWillUnmount?(): void;
|
|
290
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
291
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<OriginalProps>, prevState: Readonly<{}>): any;
|
|
292
|
+
componentDidUpdate?(prevProps: Readonly<OriginalProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
293
|
+
componentWillMount?(): void;
|
|
294
|
+
UNSAFE_componentWillMount?(): void;
|
|
295
|
+
componentWillReceiveProps?(nextProps: Readonly<OriginalProps>, nextContext: any): void;
|
|
296
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<OriginalProps>, nextContext: any): void;
|
|
297
|
+
componentWillUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
298
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<OriginalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
299
|
+
};
|
|
300
|
+
readonly displayName: string;
|
|
301
|
+
contextType?: React.Context<any> | undefined;
|
|
302
|
+
};
|
|
253
303
|
export declare function withFramePayGooglePayComponent<OriginalProps extends object>(WrappedComponent: React.ComponentType<OriginalProps & FramePayGooglePayProps>): {
|
|
254
304
|
new (props: OriginalProps | Readonly<OriginalProps>): {
|
|
255
305
|
render(): JSX.Element;
|
|
@@ -53,10 +53,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
53
53
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
54
54
|
};
|
|
55
55
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
-
exports.withFramePayPaypalComponent = exports.withFramePayGooglePayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = void 0;
|
|
56
|
+
exports.withFramePayPaypalComponent = exports.withFramePayGooglePayComponent = exports.withFramePaySamsungPayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = void 0;
|
|
57
57
|
var React = __importStar(require("react"));
|
|
58
58
|
var context_1 = require("../context");
|
|
59
59
|
var applepay_element_1 = __importDefault(require("./elements/applepay-element"));
|
|
60
|
+
var samsungpay_element_1 = __importDefault(require("./elements/samsungpay-element"));
|
|
60
61
|
var bank_element_1 = __importDefault(require("./elements/bank-element"));
|
|
61
62
|
var card_element_1 = __importDefault(require("./elements/card-element"));
|
|
62
63
|
var googlepay_element_1 = __importDefault(require("./elements/googlepay-element"));
|
|
@@ -205,6 +206,19 @@ var elementsFabric = function (type) {
|
|
|
205
206
|
ApplePayElement: ApplePayElement,
|
|
206
207
|
};
|
|
207
208
|
}
|
|
209
|
+
if (type === 'samsungPay') {
|
|
210
|
+
/**
|
|
211
|
+
* Samsung Pay
|
|
212
|
+
*/
|
|
213
|
+
var SamsungPayElement = Hoc('SamsungPayElement', samsungpay_element_1.default, function (data) {
|
|
214
|
+
return ({
|
|
215
|
+
Framepay: makeFramepayProps(data),
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
return {
|
|
219
|
+
SamsungPayElement: SamsungPayElement,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
208
222
|
if (type === 'googlePay') {
|
|
209
223
|
/**
|
|
210
224
|
* Google Pay
|
|
@@ -238,7 +252,7 @@ var elementsFabric = function (type) {
|
|
|
238
252
|
};
|
|
239
253
|
function withFramePay(WrappedComponent) {
|
|
240
254
|
var _a;
|
|
241
|
-
var elements = __assign(__assign(__assign(__assign(__assign(__assign({}, elementsFabric('card')), elementsFabric('bankAccount')), elementsFabric('iban')), elementsFabric('applePay')), elementsFabric('googlePay')), elementsFabric('paypal'));
|
|
255
|
+
var elements = __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, elementsFabric('card')), elementsFabric('bankAccount')), elementsFabric('iban')), elementsFabric('applePay')), elementsFabric('samsungPay')), elementsFabric('googlePay')), elementsFabric('paypal'));
|
|
242
256
|
return _a = /** @class */ (function (_super) {
|
|
243
257
|
__extends(class_2, _super);
|
|
244
258
|
function class_2() {
|
|
@@ -336,9 +350,9 @@ function withFramePayApplePayComponent(WrappedComponent) {
|
|
|
336
350
|
_a;
|
|
337
351
|
}
|
|
338
352
|
exports.withFramePayApplePayComponent = withFramePayApplePayComponent;
|
|
339
|
-
function
|
|
353
|
+
function withFramePaySamsungPayComponent(WrappedComponent) {
|
|
340
354
|
var _a;
|
|
341
|
-
var elements = elementsFabric('
|
|
355
|
+
var elements = elementsFabric('samsungPay');
|
|
342
356
|
return _a = /** @class */ (function (_super) {
|
|
343
357
|
__extends(class_7, _super);
|
|
344
358
|
function class_7() {
|
|
@@ -352,13 +366,13 @@ function withFramePayGooglePayComponent(WrappedComponent) {
|
|
|
352
366
|
};
|
|
353
367
|
return class_7;
|
|
354
368
|
}(React.Component)),
|
|
355
|
-
_a.displayName = "
|
|
369
|
+
_a.displayName = "withFramePaySamsungPayComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
|
|
356
370
|
_a;
|
|
357
371
|
}
|
|
358
|
-
exports.
|
|
359
|
-
function
|
|
372
|
+
exports.withFramePaySamsungPayComponent = withFramePaySamsungPayComponent;
|
|
373
|
+
function withFramePayGooglePayComponent(WrappedComponent) {
|
|
360
374
|
var _a;
|
|
361
|
-
var elements = elementsFabric('
|
|
375
|
+
var elements = elementsFabric('googlePay');
|
|
362
376
|
return _a = /** @class */ (function (_super) {
|
|
363
377
|
__extends(class_8, _super);
|
|
364
378
|
function class_8() {
|
|
@@ -372,8 +386,28 @@ function withFramePayPaypalComponent(WrappedComponent) {
|
|
|
372
386
|
};
|
|
373
387
|
return class_8;
|
|
374
388
|
}(React.Component)),
|
|
389
|
+
_a.displayName = "withFramePayGooglePayComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
|
|
390
|
+
_a;
|
|
391
|
+
}
|
|
392
|
+
exports.withFramePayGooglePayComponent = withFramePayGooglePayComponent;
|
|
393
|
+
function withFramePayPaypalComponent(WrappedComponent) {
|
|
394
|
+
var _a;
|
|
395
|
+
var elements = elementsFabric('paypal');
|
|
396
|
+
return _a = /** @class */ (function (_super) {
|
|
397
|
+
__extends(class_9, _super);
|
|
398
|
+
function class_9() {
|
|
399
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
400
|
+
}
|
|
401
|
+
class_9.prototype.render = function () {
|
|
402
|
+
var _this = this;
|
|
403
|
+
return (React.createElement(context_1.ContextConsumer, null, function (data) {
|
|
404
|
+
return (React.createElement(WrappedComponent, __assign({}, _this.props, elements, { Framepay: makeFramepayProps(data) })));
|
|
405
|
+
}));
|
|
406
|
+
};
|
|
407
|
+
return class_9;
|
|
408
|
+
}(React.Component)),
|
|
375
409
|
_a.displayName = "withFramePayPaypalComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
|
|
376
410
|
_a;
|
|
377
411
|
}
|
|
378
412
|
exports.withFramePayPaypalComponent = withFramePayPaypalComponent;
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5qZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpREFBaUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakQsMkNBQStCO0FBQy9CLHNDQUE2QztBQUM3QyxpRkFBbUU7QUFDbkUseUVBQTJEO0FBQzNELHlFQUEyRDtBQUMzRCxtRkFBcUU7QUFDckUseUVBQTJEO0FBQzNELDZFQUErRDtBQVkvRCxJQUFNLGlCQUFpQixHQUFHLFVBQUMsSUFBcUI7SUFDNUMsT0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRTtRQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0tBQ3BCLENBQWtCO0FBSG5CLENBR21CLENBQUM7QUFFeEIsU0FBUyxHQUFHLENBQ1IsSUFBWSxFQUNaLGdCQUF3QyxFQUN4QyxRQUEyQzs7SUFFM0M7WUFBcUIsMkJBQXNCO1lBQXBDOztZQW1CUCxDQUFDO1lBZEcsd0JBQU0sR0FBTjtnQkFBQSxpQkFhQztnQkFaRyxPQUFPLENBQ0gsb0JBQUMseUJBQWUsUUFDWCxVQUFDLElBQXFCO29CQUNuQixJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hDLE9BQU8sQ0FDSCxvQkFBQyxnQkFBZ0IsZUFDSixLQUFJLENBQUMsS0FBSyxFQUFLLFFBQVEsRUFDbEMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBbkJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLHNCQUFlLElB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
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5qZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpREFBaUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakQsMkNBQStCO0FBQy9CLHNDQUE2QztBQUM3QyxpRkFBbUU7QUFDbkUscUZBQXVFO0FBQ3ZFLHlFQUEyRDtBQUMzRCx5RUFBMkQ7QUFDM0QsbUZBQXFFO0FBQ3JFLHlFQUEyRDtBQUMzRCw2RUFBK0Q7QUFhL0QsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQXFCO0lBQzVDLE9BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDekMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztLQUNwQixDQUFrQjtBQUhuQixDQUdtQixDQUFDO0FBRXhCLFNBQVMsR0FBRyxDQUNSLElBQVksRUFDWixnQkFBd0MsRUFDeEMsUUFBMkM7O0lBRTNDO1lBQXFCLDJCQUFzQjtZQUFwQzs7WUFtQlAsQ0FBQztZQWRHLHdCQUFNLEdBQU47Z0JBQUEsaUJBYUM7Z0JBWkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsSUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQyxPQUFPLENBQ0gsb0JBQUMsZ0JBQWdCLGVBQ0osS0FBSSxDQUFDLEtBQUssRUFBSyxRQUFRLEVBQ2xDLENBQ0wsQ0FBQztnQkFDTixDQUFDLENBQ2EsQ0FDckIsQ0FBQztZQUNOLENBQUM7WUFDTCxjQUFDO1FBQUQsQ0FBQyxBQW5CTSxDQUFjLEtBQUssQ0FBQyxTQUFTO1FBQ2hCLGNBQVcs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
|
package/package.json
CHANGED
package/src/index.spec.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { SUPPORTED_CARD_BRANDS } from './lib/constants';
|
|
|
3
3
|
import {
|
|
4
4
|
withFramePay,
|
|
5
5
|
withFramePayApplePayComponent,
|
|
6
|
+
withFramePaySamsungPayComponent,
|
|
6
7
|
withFramePayBankComponent,
|
|
7
8
|
withFramePayCardComponent,
|
|
8
9
|
withFramePayGooglePayComponent,
|
|
@@ -14,6 +15,7 @@ import FramePayProvider from './lib/components/provider';
|
|
|
14
15
|
|
|
15
16
|
import {
|
|
16
17
|
FramePayApplePayProps,
|
|
18
|
+
FramePaySamsungPayProps,
|
|
17
19
|
FramePayBankProps,
|
|
18
20
|
FramePayCardProps,
|
|
19
21
|
FramePayComponentProps,
|
|
@@ -30,6 +32,7 @@ export {
|
|
|
30
32
|
withFramePayBankComponent,
|
|
31
33
|
withFramePayIBANComponent,
|
|
32
34
|
withFramePayApplePayComponent,
|
|
35
|
+
withFramePaySamsungPayComponent,
|
|
33
36
|
withFramePayGooglePayComponent,
|
|
34
37
|
withFramePayPaypalComponent,
|
|
35
38
|
FramePayComponentProps,
|
|
@@ -37,6 +40,7 @@ export {
|
|
|
37
40
|
FramePayBankProps,
|
|
38
41
|
FramePayIBANProps,
|
|
39
42
|
FramePayApplePayProps,
|
|
43
|
+
FramePaySamsungPayProps,
|
|
40
44
|
FramePayGooglePayProps,
|
|
41
45
|
FramePayPaypalProps,
|
|
42
46
|
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import FramePayError from '../../framepay-error';
|
|
3
|
+
import BaseElement from './base-element';
|
|
4
|
+
|
|
5
|
+
export default class SamsungPayElement extends BaseElement<
|
|
6
|
+
SamsungPayProps,
|
|
7
|
+
SamsungPayState
|
|
8
|
+
> {
|
|
9
|
+
setupElement() {
|
|
10
|
+
const { Framepay } = this.props;
|
|
11
|
+
|
|
12
|
+
const makeElement = () => {
|
|
13
|
+
// elementNode already checked in BaseElement.handleSetupElement
|
|
14
|
+
// just ts checks fix
|
|
15
|
+
if (!this.elementNode) {
|
|
16
|
+
throw FramePayError({
|
|
17
|
+
code: FramePayError.codes.elementMountError,
|
|
18
|
+
details: `SamsungPayElement invalid elementNode`,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
return Framepay.samsungPay.mount(this.elementNode);
|
|
24
|
+
} catch (e) {
|
|
25
|
+
throw FramePayError({
|
|
26
|
+
code: FramePayError.codes.elementMountError,
|
|
27
|
+
details: `SamsungPayElement error in remote api call`,
|
|
28
|
+
trace: e,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const element = makeElement();
|
|
34
|
+
this.setState({ element });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ContextConsumer } from '../context';
|
|
5
5
|
import ApplePayElementComponent from './elements/applepay-element';
|
|
6
|
+
import SamsungPayElementComponent from './elements/samsungpay-element';
|
|
6
7
|
import BankElementComponent from './elements/bank-element';
|
|
7
8
|
import CardElementComponent from './elements/card-element';
|
|
8
9
|
import GooglePayElementComponent from './elements/googlepay-element';
|
|
@@ -11,6 +12,7 @@ import PaypalElementComponent from './elements/paypal-element';
|
|
|
11
12
|
|
|
12
13
|
import type {
|
|
13
14
|
FramePayApplePayProps,
|
|
15
|
+
FramePaySamsungPayProps,
|
|
14
16
|
FramePayBankProps,
|
|
15
17
|
FramePayCardProps,
|
|
16
18
|
FramePayComponentProps,
|
|
@@ -213,6 +215,25 @@ const elementsFabric = (type: PaymentElements): object => {
|
|
|
213
215
|
};
|
|
214
216
|
}
|
|
215
217
|
|
|
218
|
+
if (type === 'samsungPay') {
|
|
219
|
+
/**
|
|
220
|
+
* Samsung Pay
|
|
221
|
+
*/
|
|
222
|
+
|
|
223
|
+
const SamsungPayElement = Hoc(
|
|
224
|
+
'SamsungPayElement',
|
|
225
|
+
SamsungPayElementComponent,
|
|
226
|
+
(data: FramePayContext) =>
|
|
227
|
+
({
|
|
228
|
+
Framepay: makeFramepayProps(data),
|
|
229
|
+
} as SamsungPayProps),
|
|
230
|
+
);
|
|
231
|
+
|
|
232
|
+
return {
|
|
233
|
+
SamsungPayElement,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
216
237
|
if (type === 'googlePay') {
|
|
217
238
|
/**
|
|
218
239
|
* Google Pay
|
|
@@ -269,6 +290,7 @@ export function withFramePay<OriginalProps extends object>(
|
|
|
269
290
|
...elementsFabric('bankAccount'),
|
|
270
291
|
...elementsFabric('iban'),
|
|
271
292
|
...elementsFabric('applePay'),
|
|
293
|
+
...elementsFabric('samsungPay'),
|
|
272
294
|
...elementsFabric('googlePay'),
|
|
273
295
|
...elementsFabric('paypal'),
|
|
274
296
|
} as FramePayComponentProps;
|
|
@@ -415,6 +437,37 @@ export function withFramePayApplePayComponent<OriginalProps extends object>(
|
|
|
415
437
|
};
|
|
416
438
|
}
|
|
417
439
|
|
|
440
|
+
export function withFramePaySamsungPayComponent<OriginalProps extends object>(
|
|
441
|
+
WrappedComponent: React.ComponentType<
|
|
442
|
+
OriginalProps & FramePaySamsungPayProps
|
|
443
|
+
>,
|
|
444
|
+
) {
|
|
445
|
+
const elements = elementsFabric('samsungPay') as FramePaySamsungPayProps;
|
|
446
|
+
return class extends React.Component<OriginalProps, {}> {
|
|
447
|
+
static readonly displayName = `withFramePaySamsungPayComponent(${
|
|
448
|
+
WrappedComponent.displayName || WrappedComponent.name || 'Component'
|
|
449
|
+
})`;
|
|
450
|
+
|
|
451
|
+
render() {
|
|
452
|
+
return (
|
|
453
|
+
<ContextConsumer>
|
|
454
|
+
{(data: FramePayContext) => {
|
|
455
|
+
return (
|
|
456
|
+
<WrappedComponent
|
|
457
|
+
{...{
|
|
458
|
+
...this.props,
|
|
459
|
+
...elements,
|
|
460
|
+
Framepay: makeFramepayProps(data),
|
|
461
|
+
}}
|
|
462
|
+
/>
|
|
463
|
+
);
|
|
464
|
+
}}
|
|
465
|
+
</ContextConsumer>
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
|
|
418
471
|
export function withFramePayGooglePayComponent<OriginalProps extends object>(
|
|
419
472
|
WrappedComponent: React.ComponentType<
|
|
420
473
|
OriginalProps & FramePayGooglePayProps
|
package/test/e2e/fixtures/nav.js
CHANGED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import ReactDOM from 'react-dom';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
FramePayProvider,
|
|
6
|
+
withFramePaySamsungPayComponent,
|
|
7
|
+
} from '../../../build';
|
|
8
|
+
import { prettyDebugRender, ReactVersion } from './util';
|
|
9
|
+
import './style.css';
|
|
10
|
+
|
|
11
|
+
const params = {
|
|
12
|
+
publishableKey: 'pk_sandbox_S95ATjj4hXZs-T9QpZq1ENl2tDSrUkCGv98utc9',
|
|
13
|
+
organizationId: '5977150c-1c97-4dd4-9860-6bb2bab070b4',
|
|
14
|
+
websiteId: 'demo.com',
|
|
15
|
+
transactionData: {
|
|
16
|
+
amount: 10,
|
|
17
|
+
currency: 'USD',
|
|
18
|
+
label: 'Purchase label 1',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
class App extends Component {
|
|
23
|
+
constructor(props) {
|
|
24
|
+
super(props);
|
|
25
|
+
this.state = {
|
|
26
|
+
token: null,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
render() {
|
|
31
|
+
return (
|
|
32
|
+
<FramePayProvider
|
|
33
|
+
injectStyle
|
|
34
|
+
{...params}
|
|
35
|
+
onReady={() => {
|
|
36
|
+
console.log('FramePayProvider.onReady');
|
|
37
|
+
}}
|
|
38
|
+
onError={(err) => {
|
|
39
|
+
console.error('FramePayProvider.onError', err);
|
|
40
|
+
}}
|
|
41
|
+
onTokenReady={(token) => this.setState({ token })}
|
|
42
|
+
>
|
|
43
|
+
<div>
|
|
44
|
+
{ReactVersion()}
|
|
45
|
+
<div>
|
|
46
|
+
<h3>FramePay version: {this.props.Framepay.version}</h3>
|
|
47
|
+
<div className="flex-wrapper">
|
|
48
|
+
{prettyDebugRender(this.state)}
|
|
49
|
+
<this.props.SamsungPayElement />
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</FramePayProvider>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const WrappedApp = withFramePaySamsungPayComponent(App);
|
|
59
|
+
ReactDOM.render(<WrappedApp />, document.getElementById('app'));
|
package/types/elements.d.ts
CHANGED
|
@@ -55,6 +55,15 @@ interface ApplePayProps extends FramepayProps {
|
|
|
55
55
|
readonly id?: string;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
interface SamsungPayFramepayProps extends FramepayProps {
|
|
59
|
+
readonly samsungPay: SamsungPayPaymentMethod;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interface SamsungPayProps extends FramepayProps {
|
|
63
|
+
readonly Framepay: SamsungPayFramepayProps;
|
|
64
|
+
readonly id?: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
58
67
|
interface GooglePayFramepayProps extends FramepayProps {
|
|
59
68
|
readonly googlePay: GooglePayPaymentMethod;
|
|
60
69
|
}
|
|
@@ -87,6 +96,10 @@ interface ApplePayState extends PaymentComponentState {
|
|
|
87
96
|
readonly element: PaymentElement | null;
|
|
88
97
|
}
|
|
89
98
|
|
|
99
|
+
interface SamsungPayState extends PaymentComponentState {
|
|
100
|
+
readonly element: PaymentElement | null;
|
|
101
|
+
}
|
|
102
|
+
|
|
90
103
|
interface GooglePayState extends PaymentComponentState {
|
|
91
104
|
readonly element: PaymentElement | null;
|
|
92
105
|
}
|
package/types/injector.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface FramePayComponentProps {
|
|
|
18
18
|
|
|
19
19
|
// Express method components
|
|
20
20
|
readonly ApplePayElement: React.ElementType;
|
|
21
|
+
readonly SamsungPayElement: React.ElementType;
|
|
21
22
|
readonly GooglePayElement: React.ElementType;
|
|
22
23
|
readonly PaypalElement: React.ElementType;
|
|
23
24
|
}
|
|
@@ -47,6 +48,11 @@ export interface FramePayApplePayProps {
|
|
|
47
48
|
readonly ApplePayElement: React.ElementType;
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
export interface FramePaySamsungPayProps {
|
|
52
|
+
readonly Framepay: FramepayProps;
|
|
53
|
+
readonly SamsungPayElement: React.ElementType;
|
|
54
|
+
}
|
|
55
|
+
|
|
50
56
|
export interface FramePayGooglePayProps {
|
|
51
57
|
readonly Framepay: FramepayProps;
|
|
52
58
|
readonly GooglePayElement: React.ElementType;
|
package/types/rebilly/api.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface FramepayApi {
|
|
|
40
40
|
readonly bankAccount: BankPaymentMethod;
|
|
41
41
|
readonly iban: IBANPaymentMethod;
|
|
42
42
|
readonly applePay: ApplePayPaymentMethod;
|
|
43
|
+
readonly samsungPay: SamsungPayPaymentMethod;
|
|
43
44
|
readonly googlePay: GooglePayPaymentMethod;
|
|
44
45
|
readonly paypal: PaypalPaymentMethod;
|
|
45
46
|
readonly createToken: (
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SamsungPay Payment element
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* SamsungPay Payment Method
|
|
7
|
+
*/
|
|
8
|
+
declare type SamsungPayPaymentElementTypes = {
|
|
9
|
+
readonly form: HTMLElement | React.Component;
|
|
10
|
+
readonly extraData?: Object;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
interface SamsungPayPaymentMethod extends PaymentElementWrapper {
|
|
14
|
+
readonly mount: (
|
|
15
|
+
node: HTMLElement | HTMLDivElement,
|
|
16
|
+
options?: SamsungPayPaymentElementTypes,
|
|
17
|
+
) => PaymentElement;
|
|
18
|
+
}
|
|
@@ -108,6 +108,10 @@ interface ApplePayDisplayOptions {
|
|
|
108
108
|
readonly buttonLanguage: string;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
interface SamsungPayDisplayOptions {
|
|
112
|
+
readonly buttonColor: 'white' | 'black';
|
|
113
|
+
}
|
|
114
|
+
|
|
111
115
|
interface GooglePayDisplayOptions {
|
|
112
116
|
readonly buttonType: string;
|
|
113
117
|
readonly buttonColor: string;
|
|
@@ -131,6 +135,7 @@ interface FramePaySettings {
|
|
|
131
135
|
readonly classes?: FramePaySettingsClasses;
|
|
132
136
|
readonly card?: FramePayCardSettings;
|
|
133
137
|
readonly applePay?: ApplePayDisplayOptions;
|
|
138
|
+
readonly samsungPay?: SamsungPayDisplayOptions;
|
|
134
139
|
readonly googlePay?: GooglePayDisplayOptions;
|
|
135
140
|
readonly paypal?: PaypalDisplayOptions;
|
|
136
141
|
readonly riskMetadata?: FramePaySettingsRiskMetadata;
|