@rebilly/framepay-react 8.0.0 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,6 @@
1
- ## [8.0.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v7.2.1...framepay-react-v8.0.0) (2024-11-14)
1
+ ## [8.1.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v8.0.0...framepay-react-v8.1.0) (2024-11-14)
2
2
 
3
3
 
4
- ### ⚠ BREAKING CHANGES
4
+ ### Features
5
5
 
6
- * **framepay-vue:** use @rebilly/framepay in framepay-vue (#8531)
7
-
8
- ### Refactors
9
-
10
- * **framepay-vue:** use @rebilly/framepay in framepay-vue ([#8531](https://github.com/Rebilly/rebilly/issues/8531)) ([ebca290](https://github.com/Rebilly/rebilly/commit/ebca2901ba85935bf390bdf125cbaaa78ddecc3e))
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQXdEO0FBeUJwRCxzR0F6QkssaUNBQXFCLE9BeUJMO0FBdkJ6QixzREFRbUM7QUFpQi9CLDZGQXhCQSx1QkFBWSxPQXdCQTtBQUlaLDhHQTNCQSx3Q0FBNkIsT0EyQkE7QUFGN0IsMEdBeEJBLG9DQUF5QixPQXdCQTtBQUR6QiwwR0F0QkEsb0NBQXlCLE9Bc0JBO0FBSXpCLCtHQXpCQSx5Q0FBOEIsT0F5QkE7QUFGOUIsMEdBdEJBLG9DQUF5QixPQXNCQTtBQUd6Qiw0R0F4QkEsc0NBQTJCLE9Bd0JBO0FBckIvQix1RUFBeUQ7QUFjckQsMkJBZEcsa0JBQWdCLENBY0gifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQXdEO0FBMkJwRCxzR0EzQkssaUNBQXFCLE9BMkJMO0FBekJ6QixzREFTbUM7QUFrQi9CLDZGQTFCQSx1QkFBWSxPQTBCQTtBQUlaLDhHQTdCQSx3Q0FBNkIsT0E2QkE7QUFDN0IsZ0hBN0JBLDBDQUErQixPQTZCQTtBQUgvQiwwR0F6QkEsb0NBQXlCLE9BeUJBO0FBRHpCLDBHQXZCQSxvQ0FBeUIsT0F1QkE7QUFLekIsK0dBM0JBLHlDQUE4QixPQTJCQTtBQUg5QiwwR0F2QkEsb0NBQXlCLE9BdUJBO0FBSXpCLDRHQTFCQSxzQ0FBMkIsT0EwQkE7QUF2Qi9CLHVFQUF5RDtBQWVyRCwyQkFmRyxrQkFBZ0IsQ0FlSCJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBK0I7QUFFL0IsSUFBTSxVQUFVLEdBQTBCO0lBQ3RDLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLGdDQUFnQztJQUNoQywyQkFBMkI7SUFDM0IsNkJBQTZCO0NBQ2hDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFFVCxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ2xCLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRTtRQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBK0I7QUFFL0IsSUFBTSxVQUFVLEdBQTBCO0lBQ3RDLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLDZCQUE2QjtDQUNoQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRVQsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNsQixFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import BaseElement from './base-element';
2
+ export default class SamsungPayElement extends BaseElement<SamsungPayProps, SamsungPayState> {
3
+ setupElement(): void;
4
+ }
@@ -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 withFramePayGooglePayComponent(WrappedComponent) {
353
+ function withFramePaySamsungPayComponent(WrappedComponent) {
340
354
  var _a;
341
- var elements = elementsFabric('googlePay');
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 = "withFramePayGooglePayComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
369
+ _a.displayName = "withFramePaySamsungPayComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
356
370
  _a;
357
371
  }
358
- exports.withFramePayGooglePayComponent = withFramePayGooglePayComponent;
359
- function withFramePayPaypalComponent(WrappedComponent) {
372
+ exports.withFramePaySamsungPayComponent = withFramePaySamsungPayComponent;
373
+ function withFramePayGooglePayComponent(WrappedComponent) {
360
374
  var _a;
361
- var elements = elementsFabric('paypal');
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebilly/framepay-react",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "A React wrapper for Rebilly's FramePay offering out-of-the-box support for Redux and other common React features",
5
5
  "main": "build/index.js",
6
6
  "author": "Rebilly",
package/src/index.spec.ts CHANGED
@@ -5,6 +5,7 @@ const exportKeys: ReadonlyArray<string> = [
5
5
  'FramePayProvider',
6
6
  'withFramePay',
7
7
  'withFramePayApplePayComponent',
8
+ 'withFramePaySamsungPayComponent',
8
9
  'withFramePayCardComponent',
9
10
  'withFramePayBankComponent',
10
11
  'withFramePayGooglePayComponent',
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
@@ -2,6 +2,7 @@ setTimeout(() => {
2
2
  const node = document.createElement('ul');
3
3
  [
4
4
  'apple-pay',
5
+ 'samsung-pay',
5
6
  'bank-separate',
6
7
  'card-separate',
7
8
  'card-separate-rebilly-fields',
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <title>Test Samsung Pay</title>
7
+ </head>
8
+
9
+ <body>
10
+ <div id="app"></div>
11
+ <script src="samsung-pay.js"></script>
12
+ <script src="nav.js"></script>
13
+ </body>
14
+
15
+ </html>
@@ -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'));
@@ -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
  }
@@ -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;
@@ -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
+ }
@@ -3,5 +3,6 @@ type PaymentElements =
3
3
  | 'bankAccount'
4
4
  | 'iban'
5
5
  | 'applePay'
6
+ | 'samsungPay'
6
7
  | 'googlePay'
7
8
  | 'paypal';
@@ -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;