@rebilly/framepay-react 1.3.0 → 1.5.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/README.md +37 -12
- package/build/index.d.ts +3 -3
- package/build/index.js +3 -2
- package/build/lib/components/elements/paypal-element.d.ts +4 -0
- package/build/lib/components/elements/paypal-element.js +69 -0
- package/build/lib/components/injector.d.ts +55 -1
- package/build/lib/components/injector.js +39 -3
- package/package.json +14 -10
- package/types/elements.d.ts +10 -0
- package/types/injector.d.ts +7 -1
- package/types/rebilly/api.d.ts +1 -0
- package/types/rebilly/payment-elements/elements/paypal.d.ts +18 -0
- package/types/rebilly/payment-elements/payment-element-names.d.ts +1 -1
- package/types/rebilly/settings.d.ts +7 -0
package/README.md
CHANGED
|
@@ -10,20 +10,30 @@ Supported: React 14, 15, 16 (latest)
|
|
|
10
10
|
This package is a wrapper for [FramePay](https://rebilly.github.io/framepay-docs/) offering out-of-the-box support for Redux and other common React features.
|
|
11
11
|
|
|
12
12
|
## Table of Contents
|
|
13
|
-
- [
|
|
14
|
-
- [
|
|
15
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
|
|
13
|
+
- [framepay-react](#framepay-react)
|
|
14
|
+
- [Table of Contents](#table-of-contents)
|
|
15
|
+
- [FramePay documentation](#framepay-documentation)
|
|
16
|
+
- [Demos](#demos)
|
|
17
|
+
- [Installation](#installation)
|
|
18
|
+
- [Getting started](#getting-started)
|
|
19
|
+
- [The FramePay context (`FramePayProvider`)](#the-framepay-context-framepayprovider)
|
|
20
|
+
- [Setting up your payment form](#setting-up-your-payment-form)
|
|
21
|
+
- [WARNING](#warning)
|
|
22
|
+
- [withFramePay (All props)](#withframepay-all-props)
|
|
23
|
+
- [withFramePayCardComponent (Card props)](#withframepaycardcomponent-card-props)
|
|
24
|
+
- [withFramePayBankComponent (Bank props)](#withframepaybankcomponent-bank-props)
|
|
25
|
+
- [withFramePayApplePayComponent (Apple Pay props)](#withframepayapplepaycomponent-apple-pay-props)
|
|
26
|
+
- [withFramePayGooglePayComponent (Google Pay props)](#withframepaygooglepaycomponent-google-pay-props)
|
|
27
|
+
- [withFramePayPaypalComponent (Paypal props)](#withframepaypaypalcomponent-paypal-props)
|
|
20
28
|
- [With FramePay (`withFramePay`) HOC](#with-framepay-withframepay-hoc)
|
|
21
29
|
- [Card elements (`withFramePayCardComponent`) HOC](#card-elements-withframepaycardcomponent-hoc)
|
|
22
30
|
- [Bank elements (`withFramePayBankComponent`) HOC](#bank-elements-withframepaybankcomponent-hoc)
|
|
23
|
-
- [Advanced options](#advanced-options)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- [Troubleshooting](#troubleshooting)
|
|
31
|
+
- [Advanced options](#advanced-options)
|
|
32
|
+
- [Initialization settings](#initialization-settings)
|
|
33
|
+
- [Create Token Parameters](#create-token-parameters)
|
|
34
|
+
- [Troubleshooting](#troubleshooting)
|
|
35
|
+
- [Incorrect](#incorrect)
|
|
36
|
+
- [Correct](#correct)
|
|
27
37
|
|
|
28
38
|
### FramePay documentation
|
|
29
39
|
For more information on FramePay see its [official documentation](https://rebilly.github.io/framepay-docs/) or [repository](https://github.com/Rebilly/framepay-docs).
|
|
@@ -97,6 +107,9 @@ The react lifecycle methods already implemented in the library.
|
|
|
97
107
|
- `CardCvvElement`
|
|
98
108
|
- `CardExpiryElement`
|
|
99
109
|
- `CardNumberElement`
|
|
110
|
+
- `ApplePayElement`
|
|
111
|
+
- `GooglePayElement`
|
|
112
|
+
- `PaypalElement`
|
|
100
113
|
|
|
101
114
|
###### withFramePayCardComponent (Card props)
|
|
102
115
|
- Rebilly
|
|
@@ -111,12 +124,24 @@ The react lifecycle methods already implemented in the library.
|
|
|
111
124
|
- `BankAccountTypeElement`
|
|
112
125
|
- `BankRoutingNumberElement`
|
|
113
126
|
|
|
127
|
+
###### withFramePayApplePayComponent (Apple Pay props)
|
|
128
|
+
- Rebilly
|
|
129
|
+
- `ApplePayElement`
|
|
130
|
+
|
|
131
|
+
###### withFramePayGooglePayComponent (Google Pay props)
|
|
132
|
+
- Rebilly
|
|
133
|
+
- `GooglePayElement`
|
|
134
|
+
|
|
135
|
+
###### withFramePayPaypalComponent (Paypal props)
|
|
136
|
+
- Rebilly
|
|
137
|
+
- `PaypalElement`
|
|
138
|
+
|
|
114
139
|
##### With FramePay (`withFramePay`) HOC
|
|
115
140
|
This simple FramePay HOC is used to provide the `Rebilly` API in your component. It is most commonly used in combination with multiple payment methods.
|
|
116
141
|
|
|
117
142
|
- [Payment cards and ACH (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
|
|
118
143
|
- [Payment cards and ACH Short version (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethodsShort.js)
|
|
119
|
-
- [
|
|
144
|
+
- [Alternative methods (Bitcoin) (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/OtherPaymentMethods.js)
|
|
120
145
|
|
|
121
146
|
##### Card elements (`withFramePayCardComponent`) HOC
|
|
122
147
|
|
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 } from './lib/components/injector';
|
|
2
|
+
import { withFramePay, withFramePayApplePayComponent, 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 } from '../types/injector';
|
|
5
|
-
export { SUPPORTED_CARD_BRANDS, FramePayProvider, withFramePay, withFramePayCardComponent, withFramePayBankComponent, withFramePayIBANComponent, withFramePayApplePayComponent, withFramePayGooglePayComponent, FramePayComponentProps, FramePayCardProps, FramePayBankProps, FramePayIBANProps, FramePayApplePayProps, FramePayGooglePayProps, };
|
|
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 };
|
package/build/index.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.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.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");
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "withFramePayBankComponent", { enumerable: true,
|
|
|
13
13
|
Object.defineProperty(exports, "withFramePayCardComponent", { enumerable: true, get: function () { return injector_1.withFramePayCardComponent; } });
|
|
14
14
|
Object.defineProperty(exports, "withFramePayGooglePayComponent", { enumerable: true, get: function () { return injector_1.withFramePayGooglePayComponent; } });
|
|
15
15
|
Object.defineProperty(exports, "withFramePayIBANComponent", { enumerable: true, get: function () { return injector_1.withFramePayIBANComponent; } });
|
|
16
|
+
Object.defineProperty(exports, "withFramePayPaypalComponent", { enumerable: true, get: function () { return injector_1.withFramePayPaypalComponent; } });
|
|
16
17
|
var provider_1 = __importDefault(require("./lib/components/provider"));
|
|
17
18
|
exports.FramePayProvider = provider_1.default;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQXdEO0FBeUJwRCxzR0F6QkssaUNBQXFCLE9BeUJMO0FBdkJ6QixzREFRbUM7QUFpQi9CLDZGQXhCQSx1QkFBWSxPQXdCQTtBQUlaLDhHQTNCQSx3Q0FBNkIsT0EyQkE7QUFGN0IsMEdBeEJBLG9DQUF5QixPQXdCQTtBQUR6QiwwR0F0QkEsb0NBQXlCLE9Bc0JBO0FBSXpCLCtHQXpCQSx5Q0FBOEIsT0F5QkE7QUFGOUIsMEdBdEJBLG9DQUF5QixPQXNCQTtBQUd6Qiw0R0F4QkEsc0NBQTJCLE9Bd0JBO0FBckIvQix1RUFBeUQ7QUFjckQsMkJBZEcsa0JBQWdCLENBY0gifQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
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 (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var framepay_error_1 = __importDefault(require("../../framepay-error"));
|
|
20
|
+
var base_element_1 = __importDefault(require("./base-element"));
|
|
21
|
+
var PaypalElement = /** @class */ (function (_super) {
|
|
22
|
+
__extends(PaypalElement, _super);
|
|
23
|
+
function PaypalElement() {
|
|
24
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
25
|
+
}
|
|
26
|
+
PaypalElement.prototype.setupElement = function () {
|
|
27
|
+
var _this = this;
|
|
28
|
+
var _a = this.props, Rebilly = _a.Rebilly, onTokenReady = _a.onTokenReady;
|
|
29
|
+
var makeElement = function () {
|
|
30
|
+
// elementNode already checked in BaseElement.handleSetupElement
|
|
31
|
+
// just ts checks fix
|
|
32
|
+
if (!_this.elementNode) {
|
|
33
|
+
throw framepay_error_1.default({
|
|
34
|
+
code: framepay_error_1.default.codes.elementMountError,
|
|
35
|
+
details: "PaypalElement invalid elementNode"
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
return Rebilly.paypal.mount(_this.elementNode);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
throw framepay_error_1.default({
|
|
43
|
+
code: framepay_error_1.default.codes.elementMountError,
|
|
44
|
+
details: "PaypalElement error in remote api call",
|
|
45
|
+
trace: e
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var element = makeElement();
|
|
50
|
+
try {
|
|
51
|
+
Rebilly.on('token-ready', function (token) {
|
|
52
|
+
if (onTokenReady) {
|
|
53
|
+
onTokenReady(token);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
this.setState({ element: element });
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
throw framepay_error_1.default({
|
|
60
|
+
code: framepay_error_1.default.codes.elementMountError,
|
|
61
|
+
details: "PaypalElement events binding error",
|
|
62
|
+
trace: e
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return PaypalElement;
|
|
67
|
+
}(base_element_1.default));
|
|
68
|
+
exports.default = PaypalElement;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvcGF5cGFsLWVsZW1lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHdFQUFpRDtBQUNqRCxnRUFBeUM7QUFFekM7SUFBMkMsaUNBRzFDO0lBSEQ7O0lBOENBLENBQUM7SUExQ0csb0NBQVksR0FBWjtRQUFBLGlCQXlDQztRQXhDUyxJQUFBLEtBQTRCLElBQUksQ0FBQyxLQUFLLEVBQXBDLE9BQU8sYUFBQSxFQUFFLFlBQVksa0JBQWUsQ0FBQztRQUU3QyxJQUFNLFdBQVcsR0FBRztZQUNoQixnRUFBZ0U7WUFDaEUscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNuQixNQUFNLHdCQUFhLENBQUM7b0JBQ2hCLElBQUksRUFBRSx3QkFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7b0JBQzNDLE9BQU8sRUFBRSxtQ0FBbUM7aUJBQy9DLENBQUMsQ0FBQzthQUNOO1lBRUQsSUFBSTtnQkFDQSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqRDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE1BQU0sd0JBQWEsQ0FBQztvQkFDaEIsSUFBSSxFQUFFLHdCQUFhLENBQUMsS0FBSyxDQUFDLGlCQUFpQjtvQkFDM0MsT0FBTyxFQUFFLHdDQUF3QztvQkFDakQsS0FBSyxFQUFFLENBQUM7aUJBQ1gsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUM7UUFFRixJQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUU5QixJQUFJO1lBQ0EsT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBQyxLQUFhO2dCQUNwQyxJQUFJLFlBQVksRUFBRTtvQkFDZCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3ZCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxTQUFBLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixNQUFNLHdCQUFhLENBQUM7Z0JBQ2hCLElBQUksRUFBRSx3QkFBYSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQzNDLE9BQU8sRUFBRSxvQ0FBb0M7Z0JBQzdDLEtBQUssRUFBRSxDQUFDO2FBQ1gsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBQ0wsb0JBQUM7QUFBRCxDQUFDLEFBOUNELENBQTJDLHNCQUFXLEdBOENyRCJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { FramePayApplePayProps, FramePayBankProps, FramePayCardProps, FramePayComponentProps, FramePayGooglePayProps, FramePayIBANProps } from '../../../types/injector';
|
|
2
|
+
import { FramePayApplePayProps, 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 & FramePayComponentProps) | Readonly<OriginalProps & FramePayComponentProps>): {
|
|
5
5
|
render(): JSX.Element;
|
|
@@ -324,3 +324,57 @@ export declare function withFramePayGooglePayComponent<OriginalProps extends obj
|
|
|
324
324
|
readonly displayName: string;
|
|
325
325
|
contextType?: React.Context<any> | undefined;
|
|
326
326
|
};
|
|
327
|
+
export declare function withFramePayPaypalComponent<OriginalProps extends object>(WrappedComponent: React.ComponentType<OriginalProps & FramePayPaypalProps>): {
|
|
328
|
+
new (props: (OriginalProps & FramePayPaypalProps) | Readonly<OriginalProps & FramePayPaypalProps>): {
|
|
329
|
+
render(): JSX.Element;
|
|
330
|
+
context: any;
|
|
331
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<OriginalProps & FramePayPaypalProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
332
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
333
|
+
readonly props: Readonly<OriginalProps & FramePayPaypalProps> & Readonly<{
|
|
334
|
+
children?: React.ReactNode;
|
|
335
|
+
}>;
|
|
336
|
+
state: Readonly<{}>;
|
|
337
|
+
refs: {
|
|
338
|
+
[key: string]: React.ReactInstance;
|
|
339
|
+
};
|
|
340
|
+
componentDidMount?(): void;
|
|
341
|
+
shouldComponentUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
342
|
+
componentWillUnmount?(): void;
|
|
343
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
344
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<OriginalProps & FramePayPaypalProps>, prevState: Readonly<{}>): any;
|
|
345
|
+
componentDidUpdate?(prevProps: Readonly<OriginalProps & FramePayPaypalProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
346
|
+
componentWillMount?(): void;
|
|
347
|
+
UNSAFE_componentWillMount?(): void;
|
|
348
|
+
componentWillReceiveProps?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextContext: any): void;
|
|
349
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextContext: any): void;
|
|
350
|
+
componentWillUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
351
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
352
|
+
};
|
|
353
|
+
new (props: OriginalProps & FramePayPaypalProps, context: any): {
|
|
354
|
+
render(): JSX.Element;
|
|
355
|
+
context: any;
|
|
356
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<OriginalProps & FramePayPaypalProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
357
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
358
|
+
readonly props: Readonly<OriginalProps & FramePayPaypalProps> & Readonly<{
|
|
359
|
+
children?: React.ReactNode;
|
|
360
|
+
}>;
|
|
361
|
+
state: Readonly<{}>;
|
|
362
|
+
refs: {
|
|
363
|
+
[key: string]: React.ReactInstance;
|
|
364
|
+
};
|
|
365
|
+
componentDidMount?(): void;
|
|
366
|
+
shouldComponentUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
367
|
+
componentWillUnmount?(): void;
|
|
368
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
369
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<OriginalProps & FramePayPaypalProps>, prevState: Readonly<{}>): any;
|
|
370
|
+
componentDidUpdate?(prevProps: Readonly<OriginalProps & FramePayPaypalProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
371
|
+
componentWillMount?(): void;
|
|
372
|
+
UNSAFE_componentWillMount?(): void;
|
|
373
|
+
componentWillReceiveProps?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextContext: any): void;
|
|
374
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextContext: any): void;
|
|
375
|
+
componentWillUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
376
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<OriginalProps & FramePayPaypalProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
377
|
+
};
|
|
378
|
+
readonly displayName: string;
|
|
379
|
+
contextType?: React.Context<any> | undefined;
|
|
380
|
+
};
|
|
@@ -47,7 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.withFramePayGooglePayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = void 0;
|
|
50
|
+
exports.withFramePayPaypalComponent = exports.withFramePayGooglePayComponent = exports.withFramePayApplePayComponent = exports.withFramePayIBANComponent = exports.withFramePayBankComponent = exports.withFramePayCardComponent = exports.withFramePay = void 0;
|
|
51
51
|
var React = __importStar(require("react"));
|
|
52
52
|
var context_1 = require("../context");
|
|
53
53
|
var applepay_element_1 = __importDefault(require("./elements/applepay-element"));
|
|
@@ -55,6 +55,7 @@ var bank_element_1 = __importDefault(require("./elements/bank-element"));
|
|
|
55
55
|
var card_element_1 = __importDefault(require("./elements/card-element"));
|
|
56
56
|
var googlepay_element_1 = __importDefault(require("./elements/googlepay-element"));
|
|
57
57
|
var iban_element_1 = __importDefault(require("./elements/iban-element"));
|
|
58
|
+
var paypal_element_1 = __importDefault(require("./elements/paypal-element"));
|
|
58
59
|
var makeRebillyProps = function (data) {
|
|
59
60
|
return Object.assign(Object.create(data.api || {}), {
|
|
60
61
|
error: data.error,
|
|
@@ -213,6 +214,19 @@ var elementsFabric = function (type) {
|
|
|
213
214
|
GooglePayElement: GooglePayElement
|
|
214
215
|
};
|
|
215
216
|
}
|
|
217
|
+
if (type === 'paypal') {
|
|
218
|
+
/**
|
|
219
|
+
* Paypal
|
|
220
|
+
*/
|
|
221
|
+
var PaypalElement = Hoc('PaypalElement', paypal_element_1.default, function (data) {
|
|
222
|
+
return ({
|
|
223
|
+
Rebilly: makeRebillyProps(data)
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
return {
|
|
227
|
+
PaypalElement: PaypalElement
|
|
228
|
+
};
|
|
229
|
+
}
|
|
216
230
|
/**
|
|
217
231
|
* Throw the error by default.
|
|
218
232
|
*/
|
|
@@ -220,7 +234,7 @@ var elementsFabric = function (type) {
|
|
|
220
234
|
};
|
|
221
235
|
function withFramePay(WrappedComponent) {
|
|
222
236
|
var _a;
|
|
223
|
-
var elements = __assign(__assign(__assign(__assign(__assign({}, elementsFabric('card')), elementsFabric('bankAccount')), elementsFabric('iban')), elementsFabric('applePay')), elementsFabric('googlePay'));
|
|
237
|
+
var elements = __assign(__assign(__assign(__assign(__assign(__assign({}, elementsFabric('card')), elementsFabric('bankAccount')), elementsFabric('iban')), elementsFabric('applePay')), elementsFabric('googlePay')), elementsFabric('paypal'));
|
|
224
238
|
return _a = /** @class */ (function (_super) {
|
|
225
239
|
__extends(class_2, _super);
|
|
226
240
|
function class_2() {
|
|
@@ -350,4 +364,26 @@ function withFramePayGooglePayComponent(WrappedComponent) {
|
|
|
350
364
|
_a;
|
|
351
365
|
}
|
|
352
366
|
exports.withFramePayGooglePayComponent = withFramePayGooglePayComponent;
|
|
353
|
-
|
|
367
|
+
function withFramePayPaypalComponent(WrappedComponent) {
|
|
368
|
+
var _a;
|
|
369
|
+
var elements = elementsFabric('paypal');
|
|
370
|
+
return _a = /** @class */ (function (_super) {
|
|
371
|
+
__extends(class_8, _super);
|
|
372
|
+
function class_8() {
|
|
373
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
374
|
+
}
|
|
375
|
+
class_8.prototype.render = function () {
|
|
376
|
+
var _this = this;
|
|
377
|
+
return (React.createElement(context_1.ContextConsumer, null, function (data) {
|
|
378
|
+
return (React.createElement(WrappedComponent, __assign({}, __assign(__assign(__assign({}, _this.props), elements), { Rebilly: makeRebillyProps(data) }))));
|
|
379
|
+
}));
|
|
380
|
+
};
|
|
381
|
+
return class_8;
|
|
382
|
+
}(React.Component)),
|
|
383
|
+
_a.displayName = "withFramePayPaypalComponent" + name + "(" + (WrappedComponent.displayName ||
|
|
384
|
+
WrappedComponent.name ||
|
|
385
|
+
'Component') + ")",
|
|
386
|
+
_a;
|
|
387
|
+
}
|
|
388
|
+
exports.withFramePayPaypalComponent = withFramePayPaypalComponent;
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5qZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEMsMkNBQStCO0FBQy9CLHNDQUE2QztBQUM3QyxpRkFBbUU7QUFDbkUseUVBQTJEO0FBQzNELHlFQUEyRDtBQUMzRCxtRkFBcUU7QUFDckUseUVBQTJEO0FBQzNELDZFQUErRDtBQVkvRCxJQUFNLGdCQUFnQixHQUFHLFVBQUMsSUFBcUI7SUFDM0MsT0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRTtRQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0tBQ3BCLENBQWlCO0FBSGxCLENBR2tCLENBQUM7QUFFdkIsU0FBUyxHQUFHLENBQ1IsSUFBWSxFQUNaLGdCQUF3QyxFQUN4QyxRQUEyQzs7SUFFM0M7WUFBcUIsMkJBQXNCO1lBQXBDOztZQW1CUCxDQUFDO1lBZEcsd0JBQU0sR0FBTjtnQkFBQSxpQkFhQztnQkFaRyxPQUFPLENBQ0gsb0JBQUMseUJBQWUsUUFDWCxVQUFDLElBQXFCO29CQUNuQixJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hDLE9BQU8sQ0FDSCxvQkFBQyxnQkFBZ0IscUNBQ0osS0FBSSxDQUFDLEtBQUssR0FBSyxRQUFRLEdBQ2xDLENBQ0wsQ0FBQztnQkFDTixDQUFDLENBQ2EsQ0FDckIsQ0FBQztZQUNOLENBQUM7WUFDTCxjQUFDO1FBQUQsQ0FBQyxBQW5CTSxDQUFjLEtBQUssQ0FBQyxTQUFTO1FBQ2hCLGNBQVcsR0FBRyxpQkFBZSxJQUFJLFVB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rebilly/framepay-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.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",
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
"scripts": {
|
|
23
23
|
"set-react-14": "cross-env REACT_VERSION=0.14.0 node ./test/e2e/switch-react-version",
|
|
24
24
|
"set-react-15": "cross-env REACT_VERSION=15.0.0 node ./test/e2e/switch-react-version",
|
|
25
|
-
"set-react-
|
|
25
|
+
"set-react-16": "cross-env REACT_VERSION=16 node ./test/e2e/switch-react-version",
|
|
26
|
+
"set-react-17": "cross-env REACT_VERSION=17 node ./test/e2e/switch-react-version",
|
|
27
|
+
"set-react-18": "cross-env REACT_VERSION=18 node ./test/e2e/switch-react-version",
|
|
26
28
|
"clean-react-alias": "cross-env REACT_VERSION=clean node ./test/e2e/switch-react-version",
|
|
27
29
|
"run-jest": "node test/e2e/jest.js --env=node --no-cache --colors test/e2e/specs --setupFilesAfterEnv ./test/e2e/setup.js --preset jest-puppeteer",
|
|
28
30
|
"dotenv": "node ./env.js",
|
|
@@ -39,7 +41,9 @@
|
|
|
39
41
|
"test:e2e": "run-s test:e2e:*",
|
|
40
42
|
"test:e2e:react-14": "cross-env REACT_VERSION=0.14.0 run-s set-react-14 dotenv build:e2e clean-react-alias run-jest",
|
|
41
43
|
"test:e2e:react-15": "cross-env REACT_VERSION=15.0.0 run-s set-react-15 dotenv build:e2e clean-react-alias run-jest",
|
|
42
|
-
"test:e2e:react-
|
|
44
|
+
"test:e2e:react-16": "cross-env REACT_VERSION=16 run-s set-react-16 dotenv build:e2e clean-react-alias run-jest",
|
|
45
|
+
"test:e2e:react-17": "cross-env REACT_VERSION=17 run-s set-react-17 dotenv build:e2e clean-react-alias run-jest",
|
|
46
|
+
"test:e2e:react-18": "cross-env REACT_VERSION=18 run-s set-react-18 dotenv build:e2e clean-react-alias run-jest",
|
|
43
47
|
"watch": "run-s build && run-p \"build -- --w\"",
|
|
44
48
|
"clean:e2e": "trash test/e2e/build",
|
|
45
49
|
"precommit": "run-s fix",
|
|
@@ -47,8 +51,8 @@
|
|
|
47
51
|
"all": "run-s fix:* test:* build"
|
|
48
52
|
},
|
|
49
53
|
"peerDependencies": {
|
|
50
|
-
"react": "^0.14.0 || ^15.0.0 || ^16.0.0",
|
|
51
|
-
"react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0"
|
|
54
|
+
"react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
|
|
55
|
+
"react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
|
|
52
56
|
},
|
|
53
57
|
"dependencies": {
|
|
54
58
|
"create-react-context": "^0.3.0"
|
|
@@ -61,11 +65,11 @@
|
|
|
61
65
|
"@types/jest-environment-puppeteer": "^4.0.0",
|
|
62
66
|
"@types/node": "^11.13.0",
|
|
63
67
|
"@types/puppeteer": "^1.12.3",
|
|
68
|
+
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
|
|
64
69
|
"core-js": "3",
|
|
65
70
|
"cross-env": "^5.2.0",
|
|
66
71
|
"dotenv": "^7.0.0",
|
|
67
72
|
"enzyme": "^3.9.0",
|
|
68
|
-
"enzyme-adapter-react-16": "^1.11.2",
|
|
69
73
|
"express": "^4.16.4",
|
|
70
74
|
"husky": "^1.3.1",
|
|
71
75
|
"jest": "^24.6.0",
|
|
@@ -73,15 +77,15 @@
|
|
|
73
77
|
"jest-puppeteer": "^4.1.0",
|
|
74
78
|
"jest-resolve": "^24.6.0",
|
|
75
79
|
"jest-watch-typeahead": "^0.3.0",
|
|
76
|
-
"jsdom": "^
|
|
80
|
+
"jsdom": "^16.5.0",
|
|
77
81
|
"jsdom-global": "^3.0.2",
|
|
78
82
|
"npm-run-all": "^4.1.5",
|
|
79
83
|
"parcel-bundler": "^1.12.5",
|
|
80
84
|
"portfinder": "^1.0.20",
|
|
81
85
|
"prettier": "^1.15.2",
|
|
82
86
|
"puppeteer": "^1.20.0",
|
|
83
|
-
"react": "^
|
|
84
|
-
"react-dom": "^
|
|
87
|
+
"react": "^17.0.2",
|
|
88
|
+
"react-dom": "^17.0.2",
|
|
85
89
|
"trash-cli": "^1.4.0",
|
|
86
90
|
"ts-jest": "^24.0.1",
|
|
87
91
|
"tslint": "^5.11.0",
|
|
@@ -132,4 +136,4 @@
|
|
|
132
136
|
"node-forge": "^0.10.0",
|
|
133
137
|
"postcss": "^7.0.36"
|
|
134
138
|
}
|
|
135
|
-
}
|
|
139
|
+
}
|
package/types/elements.d.ts
CHANGED
|
@@ -45,6 +45,12 @@ interface GooglePayProps extends RebillyProps {
|
|
|
45
45
|
readonly onTokenReady?: (data: string) => void;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
interface PaypalProps extends RebillyProps {
|
|
49
|
+
readonly Rebilly: RebillyProps;
|
|
50
|
+
readonly id?: string;
|
|
51
|
+
readonly onTokenReady?: (data: string) => void;
|
|
52
|
+
}
|
|
53
|
+
|
|
48
54
|
interface BankState extends PaymentComponentState {
|
|
49
55
|
readonly element: PaymentElement | null;
|
|
50
56
|
}
|
|
@@ -64,3 +70,7 @@ interface ApplePayState extends PaymentComponentState {
|
|
|
64
70
|
interface GooglePayState extends PaymentComponentState {
|
|
65
71
|
readonly element: PaymentElement | null;
|
|
66
72
|
}
|
|
73
|
+
|
|
74
|
+
interface PaypalState extends PaymentComponentState {
|
|
75
|
+
readonly element: PaymentElement | null;
|
|
76
|
+
}
|
package/types/injector.d.ts
CHANGED
|
@@ -16,9 +16,10 @@ export interface FramePayComponentProps {
|
|
|
16
16
|
// IBAN components
|
|
17
17
|
readonly IBANElement: React.Component;
|
|
18
18
|
|
|
19
|
-
//
|
|
19
|
+
// Express method components
|
|
20
20
|
readonly ApplePayElement: React.Component;
|
|
21
21
|
readonly GooglePayElement: React.Component;
|
|
22
|
+
readonly PaypalElement: React.Component;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export interface FramePayCardProps {
|
|
@@ -50,3 +51,8 @@ export interface FramePayGooglePayProps {
|
|
|
50
51
|
readonly Rebilly: RebillyProps;
|
|
51
52
|
readonly GooglePayElement: React.Component;
|
|
52
53
|
}
|
|
54
|
+
|
|
55
|
+
export interface FramePayPaypalProps {
|
|
56
|
+
readonly Rebilly: RebillyProps;
|
|
57
|
+
readonly PaypalElement: React.Component;
|
|
58
|
+
}
|
package/types/rebilly/api.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ interface RebillyApi {
|
|
|
38
38
|
readonly iban: IBANPaymentMethod;
|
|
39
39
|
readonly applePay: ApplePayPaymentMethod;
|
|
40
40
|
readonly googlePay: GooglePayPaymentMethod;
|
|
41
|
+
readonly paypal: PaypalPaymentMethod;
|
|
41
42
|
readonly createToken: (
|
|
42
43
|
form: HTMLElement | HTMLFormElement,
|
|
43
44
|
extraData?: TokenExtraData
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paypal Payment element
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Paypal Payment Method
|
|
7
|
+
*/
|
|
8
|
+
declare type PaypalPaymentElementTypes = {
|
|
9
|
+
readonly form: HTMLElement | React.Component;
|
|
10
|
+
readonly extraData?: Object;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
interface PaypalPaymentMethod extends PaymentElementWrapper {
|
|
14
|
+
readonly mount: (
|
|
15
|
+
node: HTMLElement | HTMLDivElement,
|
|
16
|
+
options?: PaypalPaymentElementTypes
|
|
17
|
+
) => PaymentElement;
|
|
18
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
type PaymentElements = 'card' | 'bankAccount' | 'iban' | 'applePay' | 'googlePay';
|
|
1
|
+
type PaymentElements = 'card' | 'bankAccount' | 'iban' | 'applePay' | 'googlePay' | 'paypal';
|
|
@@ -95,6 +95,12 @@ interface GooglePayDisplayOptions {
|
|
|
95
95
|
readonly buttonHeight: string;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
interface PaypalDisplayOptions {
|
|
99
|
+
readonly buttonShape: string;
|
|
100
|
+
readonly buttonColor: string;
|
|
101
|
+
readonly buttonHeight: string;
|
|
102
|
+
}
|
|
103
|
+
|
|
98
104
|
interface FramePaySettings {
|
|
99
105
|
readonly publishableKey: string;
|
|
100
106
|
readonly organizationId: string;
|
|
@@ -107,4 +113,5 @@ interface FramePaySettings {
|
|
|
107
113
|
readonly card?: FramePayCardSettings;
|
|
108
114
|
readonly applePay?: ApplePayDisplayOptions;
|
|
109
115
|
readonly googlePay?: GooglePayDisplayOptions;
|
|
116
|
+
readonly paypal?: PaypalDisplayOptions;
|
|
110
117
|
}
|