@amos.com/react-amos-js 0.11.2 → 0.11.3
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 +12 -14
- package/dist/index.d.ts +11 -16
- package/dist/index.js +1 -1
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
- package/src/index.tsx +13 -18
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ Setup intents are used to save payment methods for future use (e.g. recurring pa
|
|
|
64
64
|
- On the client, `await confirmSetup({ iframeRef, token })` instead of `confirmPayment({ iframeRef, token })`.
|
|
65
65
|
- Both resolve `{ status: "succeeded" | "failed" }`.
|
|
66
66
|
|
|
67
|
-
The same `AmosCreditCardPaymentMethodForm` / `AmosBankAccountPaymentMethodForm` components support both payment intents and setup intents — they are differentiated by which confirmation function you call. For bank setup, pass `intent="setup"` so
|
|
67
|
+
The same `AmosCreditCardPaymentMethodForm` / `AmosBankAccountPaymentMethodForm` components support both payment intents and setup intents — they are differentiated by which confirmation function you call. For bank setup, pass `intent="setup"` so Plaid is always shown (unless the render token disables verification).
|
|
68
68
|
|
|
69
69
|
## Understanding PCI DSS compliance requirements
|
|
70
70
|
|
|
@@ -82,7 +82,7 @@ In short, your app orchestrates the payment flow, while sensitive payment data s
|
|
|
82
82
|
|
|
83
83
|
## Appearance
|
|
84
84
|
|
|
85
|
-
Card and bank components accept an optional `appearance` prop that controls the look of the iframe UI
|
|
85
|
+
Card and bank components accept an optional `appearance` prop that controls the look of the iframe UI. It contains a `themeVariables` object whose keys are CSS custom-property names and whose values are strings, and an optional `labels` setting for field label placement. You can update this prop after page load to update the iframe appearance. Wallet buttons do not take `appearance`.
|
|
86
86
|
|
|
87
87
|
```tsx
|
|
88
88
|
<AmosCreditCardPaymentMethodForm
|
|
@@ -151,7 +151,7 @@ Radio groups (e.g. account type) always use an above-style group label regardles
|
|
|
151
151
|
| `--control-gap` | Horizontal gap between side-by-side controls | `0.5rem` |
|
|
152
152
|
| `--error-font-size` | Font size of field-level error messages | `0.875rem` |
|
|
153
153
|
| `--radio-size` | Size of radio buttons on the bank account form | `1rem` |
|
|
154
|
-
| `--ring` | Focus ring and outline color (inputs
|
|
154
|
+
| `--ring` | Focus ring and outline color (inputs) | `oklch(0.708 0 0)` |
|
|
155
155
|
| `--ring-width` | Focus ring width | `3px` |
|
|
156
156
|
| `--radius` | Base border-radius (derived into sm/md/lg/xl) | `0.625rem` |
|
|
157
157
|
|
|
@@ -486,25 +486,23 @@ Renders the secure credit card iframe form. A field-shaped skeleton is shown imm
|
|
|
486
486
|
|
|
487
487
|
Renders the secure bank account iframe form. A field-shaped skeleton is shown immediately and replaced by the iframe once appearance is applied.
|
|
488
488
|
|
|
489
|
-
When
|
|
489
|
+
When `requireAchVerification` is true (or `intent` is `"setup"`), and the render token allows verification, the SDK hides the routing/account iframe and mounts [Plaid Embedded Institution Search](https://plaid.com/docs/link/embedded-institution-search/) in the parent. Hosts do not proxy Pay API (`GET /merchants`, `POST /plaid_link_tokens`); embed does that with `PAY_API_KEY`. Do not put Plaid secrets in the browser.
|
|
490
490
|
|
|
491
|
-
**Required props:** same as `AmosCreditCardPaymentMethodForm` — `renderToken
|
|
491
|
+
**Required props:** same as `AmosCreditCardPaymentMethodForm` — `renderToken`.
|
|
492
492
|
|
|
493
|
-
|
|
494
|
-
- `intent` (`"payment" | "setup"`, defaults to `"payment"`) — `"setup"` always shows Connect / Plaid (no merchant ACH threshold lookup), unless the render token disables verification. Use this when saving a bank account for later charges.
|
|
493
|
+
**Optional props:** same as `AmosCreditCardPaymentMethodForm` — `appearance`, `billingAddressRequirement`, `onValidityChange` (`isValid` is also true after Plaid returns credentials) — plus:
|
|
495
494
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
Compare locally once the iframe posts `ACH_THRESHOLD`: Plaid when `requireVerification` is true (setup intents), or when the amount (converted to cents, default `0`) is `>= achThreshold`. No threshold (or `null`) keeps the manual bank form. Render tokens with Plaid verification disabled never require Connect. If `amount` later drops under the threshold, Plaid credentials are dropped and the iframe form is shown again.
|
|
495
|
+
- `requireAchVerification` (`boolean`, defaults to `false`) — when true, show Plaid Embedded Link instead of routing/account fields. Ignored for `intent="setup"` (always Plaid) and when the render token has bank `verification: false`. Hosts that still have an ACH threshold should compute this themselves and pass a new value when the charge changes.
|
|
496
|
+
- `intent` (`"payment" | "setup"`, defaults to `"payment"`) — `"setup"` always shows Plaid unless the render token disables verification. Use this when saving a bank account for later charges.
|
|
499
497
|
|
|
500
498
|
```tsx
|
|
501
499
|
<AmosBankAccountPaymentMethodForm
|
|
502
500
|
renderToken={renderToken}
|
|
503
|
-
|
|
501
|
+
requireAchVerification
|
|
504
502
|
/>
|
|
505
503
|
```
|
|
506
504
|
|
|
507
|
-
Setup (always
|
|
505
|
+
Setup (always Plaid, unless the render token disables verification):
|
|
508
506
|
|
|
509
507
|
```tsx
|
|
510
508
|
<AmosBankAccountPaymentMethodForm
|
|
@@ -591,8 +589,8 @@ Re-exports of the same advanced helpers exposed by `@amos.com/amos-js`. Most int
|
|
|
591
589
|
- **`ref` / `iframeRef`**: for card and bank forms, pass `ref={iframeRef}` to the form component. The same `iframeRef` must be used when calling `validateForm`, `confirmPayment`, `confirmSetup`, or `resetForm`. The component forwards the ref to the inner iframe.
|
|
592
590
|
- **`confirmPayment` / `confirmSetup` are not settlement proof**: `{ status: "succeeded" }` means authorization succeeded (capture may still finish asynchronously). Verify payment or setup success on your backend via webhooks. Recoverable field errors stay in the iframe; the Promise still resolves `{ status: "failed" }`.
|
|
593
591
|
- **Same components for payment vs setup intents**: `AmosCreditCardPaymentMethodForm` and `AmosBankAccountPaymentMethodForm` support both payment intents and setup intents. The flow differs only by which server call you make and which confirmation function you use (`confirmPayment` vs `confirmSetup`).
|
|
594
|
-
- **Amount format**: for `AmosGooglePayButton
|
|
595
|
-
- **Plaid Link (ACH verification)**: load `cdn.plaid.com` from the **parent** document (see CSP on `AmosBankAccountPaymentMethodForm`). Merchants do not proxy Pay API; the bank iframe
|
|
592
|
+
- **Amount format**: for `AmosGooglePayButton` and `AmosApplePayButton`, `amount` is a major-currency decimal string (e.g. `"50.00"` for $50.00). For `components["schemas"]["CreatePaymentIntentInput"]` on the server (card/bank create, and the object the wallet iframe sends to `onConfirm`), `amount` is a number in cents (e.g. `5000`).
|
|
593
|
+
- **Plaid Embedded Link (ACH verification)**: load `cdn.plaid.com` from the **parent** document (see CSP on `AmosBankAccountPaymentMethodForm`). Merchants do not proxy Pay API; the bank iframe mints link tokens. Pass `requireAchVerification` when the host wants Plaid, or `intent="setup"` to always show it, unless the render token disables verification. Confirm still goes through the bank iframe so Amos can attach `plaid` to the payment method.
|
|
596
594
|
- **Apple Pay waiting overlay**: on browsers where Apple's QR handoff opens in a popup (non-Safari), `AmosApplePayButton` shows a fixed full-viewport overlay on the host page until payment completes, the popup closes, or the user clicks **Cancel payment**. Avoid stacking other fixed UI above it.
|
|
597
595
|
- **Going framework-free**: if you need to use Amos outside of React (vanilla JS, another framework, etc.), use [`@amos.com/amos-js`](../amos-js) directly.
|
|
598
596
|
|
package/dist/index.d.ts
CHANGED
|
@@ -69,37 +69,32 @@ type AmosBankAccountPaymentMethodFormProps = IframePassthroughProps & {
|
|
|
69
69
|
appearance?: Appearance;
|
|
70
70
|
/**
|
|
71
71
|
* Called when form validity changes. `isValid` is true when all
|
|
72
|
-
* required fields are present and valid, or when Plaid Link
|
|
73
|
-
* returned credentials. Does not include PCI data.
|
|
72
|
+
* required fields are present and valid, or when Plaid Embedded Link
|
|
73
|
+
* has returned credentials. Does not include PCI data.
|
|
74
74
|
*/
|
|
75
75
|
onValidityChange?: (event: {
|
|
76
76
|
isValid: boolean;
|
|
77
77
|
}) => void;
|
|
78
78
|
billingAddressRequirement?: BillingAddressRequirement;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* stays hidden until the host passes a real charge.
|
|
80
|
+
* When true, hide the routing/account iframe and mount Plaid Embedded
|
|
81
|
+
* Institution Search in the parent. Ignored when `intent` is `"setup"`
|
|
82
|
+
* (setup always shows Plaid) or when the render token disables
|
|
83
|
+
* verification.
|
|
85
84
|
*
|
|
86
|
-
*
|
|
87
|
-
* `"setup"`.
|
|
88
|
-
*
|
|
89
|
-
* @default "0"
|
|
85
|
+
* @default false
|
|
90
86
|
*/
|
|
91
|
-
|
|
87
|
+
requireAchVerification?: boolean;
|
|
92
88
|
/**
|
|
93
89
|
* `"setup"` saves a bank account for later charges and always shows
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
* merchant ACH threshold.
|
|
90
|
+
* Plaid (unless the render token disables verification). `"payment"`
|
|
91
|
+
* uses {@link AmosBankAccountPaymentMethodFormProps.requireAchVerification}.
|
|
97
92
|
*
|
|
98
93
|
* @default "payment"
|
|
99
94
|
*/
|
|
100
95
|
intent?: "payment" | "setup";
|
|
101
96
|
};
|
|
102
|
-
export declare function AmosBankAccountPaymentMethodForm({ ref, renderToken, appearance, onValidityChange, billingAddressRequirement,
|
|
97
|
+
export declare function AmosBankAccountPaymentMethodForm({ ref, renderToken, appearance, onValidityChange, billingAddressRequirement, requireAchVerification, intent, style, ...rest }: AmosBankAccountPaymentMethodFormProps): import("react").JSX.Element;
|
|
103
98
|
type AmosGooglePayButtonProps = {
|
|
104
99
|
ref?: ForwardedIframeRef;
|
|
105
100
|
renderToken: string;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@amos.com/amos-js"),t=require("react"),n=require("react/jsx-runtime");function r(e){return e?e.current??null:null}function i({iframeRef:t}){return(0,e.validateForm)({iframe:r(t)})}function a({iframeRef:t,token:n}){return(0,e.confirmPayment)({iframe:r(t),token:n})}function o({iframeRef:t,token:n}){return(0,e.confirmSetup)({iframe:r(t),token:n})}function s({iframeRef:t}){(0,e.resetForm)({iframe:r(t)})}function c(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function l(e,{style:t,className:n,id:r,...i}){n!=null&&(e.className=n),r!=null&&(e.id=r),Object.assign(e.style,t);for(let[t,n]of Object.entries(i))n!=null&&(t in e?Reflect.set(e,t,n):e.setAttribute(t,String(n)))}function u({containerRef:e,iframeRef:n,mount:r,options:i,remountDeps:a,iframePassthrough:o,updateDeps:s}){let u=(0,t.useRef)(null);(0,t.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let a=r(t,i);return u.current=a,c(n,a.iframe),l(a.iframe,o),()=>{a.destroy(),u.current=null,c(n,null)}},[...a]),(0,t.useEffect)(()=>{u.current?.update(i)},[...s]),(0,t.useEffect)(()=>{let e=u.current?.iframe;e&&l(e,o)})}var d=`oklch(0.97 0 0)`;function f({height:r,borderRadius:i,containerRef:a}){return(0,t.useLayoutEffect)(()=>{(0,e.ensureSkeletonStyles)()},[]),(0,n.jsxs)(`div`,{style:{boxSizing:`border-box`,position:`relative`,width:`100%`,height:r,minHeight:r,overflow:`hidden`},children:[(0,n.jsx)(`div`,{className:`amos-js-form-skeleton-input amos-js-wallet-skeleton`,style:{position:`absolute`,inset:0,height:r,borderRadius:i,background:d,pointerEvents:`none`,zIndex:0},"aria-hidden":!0}),(0,n.jsx)(`div`,{ref:a,style:{position:`absolute`,inset:0,zIndex:1,width:`100%`,height:`100%`}})]})}function p({ref:r,renderToken:i,appearance:a,onValidityChange:o,onCardBrandChanged:s,additionalFields:c={cardholderName:!1},billingAddressRequirement:l=`country`,style:d,...f}){let p=(0,t.useRef)(null);return u({containerRef:p,iframeRef:r,mount:e.mountAmosCreditCardPaymentMethodForm,options:{renderToken:i,appearance:a,additionalFields:c,billingAddressRequirement:l,onValidityChange:o,onCardBrandChanged:s},remountDeps:[i,c.cardholderName,l],iframePassthrough:{style:d,...f},updateDeps:[a,c,l,o,s]}),(0,n.jsx)(`div`,{ref:p})}function m({ref:r,renderToken:i,appearance:a,onValidityChange:o,billingAddressRequirement:s=`country`,
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@amos.com/amos-js"),t=require("react"),n=require("react/jsx-runtime");function r(e){return e?e.current??null:null}function i({iframeRef:t}){return(0,e.validateForm)({iframe:r(t)})}function a({iframeRef:t,token:n}){return(0,e.confirmPayment)({iframe:r(t),token:n})}function o({iframeRef:t,token:n}){return(0,e.confirmSetup)({iframe:r(t),token:n})}function s({iframeRef:t}){(0,e.resetForm)({iframe:r(t)})}function c(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function l(e,{style:t,className:n,id:r,...i}){n!=null&&(e.className=n),r!=null&&(e.id=r),Object.assign(e.style,t);for(let[t,n]of Object.entries(i))n!=null&&(t in e?Reflect.set(e,t,n):e.setAttribute(t,String(n)))}function u({containerRef:e,iframeRef:n,mount:r,options:i,remountDeps:a,iframePassthrough:o,updateDeps:s}){let u=(0,t.useRef)(null);(0,t.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let a=r(t,i);return u.current=a,c(n,a.iframe),l(a.iframe,o),()=>{a.destroy(),u.current=null,c(n,null)}},[...a]),(0,t.useEffect)(()=>{u.current?.update(i)},[...s]),(0,t.useEffect)(()=>{let e=u.current?.iframe;e&&l(e,o)})}var d=`oklch(0.97 0 0)`;function f({height:r,borderRadius:i,containerRef:a}){return(0,t.useLayoutEffect)(()=>{(0,e.ensureSkeletonStyles)()},[]),(0,n.jsxs)(`div`,{style:{boxSizing:`border-box`,position:`relative`,width:`100%`,height:r,minHeight:r,overflow:`hidden`},children:[(0,n.jsx)(`div`,{className:`amos-js-form-skeleton-input amos-js-wallet-skeleton`,style:{position:`absolute`,inset:0,height:r,borderRadius:i,background:d,pointerEvents:`none`,zIndex:0},"aria-hidden":!0}),(0,n.jsx)(`div`,{ref:a,style:{position:`absolute`,inset:0,zIndex:1,width:`100%`,height:`100%`}})]})}function p({ref:r,renderToken:i,appearance:a,onValidityChange:o,onCardBrandChanged:s,additionalFields:c={cardholderName:!1},billingAddressRequirement:l=`country`,style:d,...f}){let p=(0,t.useRef)(null);return u({containerRef:p,iframeRef:r,mount:e.mountAmosCreditCardPaymentMethodForm,options:{renderToken:i,appearance:a,additionalFields:c,billingAddressRequirement:l,onValidityChange:o,onCardBrandChanged:s},remountDeps:[i,c.cardholderName,l],iframePassthrough:{style:d,...f},updateDeps:[a,c,l,o,s]}),(0,n.jsx)(`div`,{ref:p})}function m({ref:r,renderToken:i,appearance:a,onValidityChange:o,billingAddressRequirement:s=`country`,requireAchVerification:c=!1,intent:l=`payment`,style:d,...f}){let p=(0,t.useRef)(null);return u({containerRef:p,iframeRef:r,mount:e.mountAmosBankAccountPaymentMethodForm,options:{renderToken:i,appearance:a,billingAddressRequirement:s,requireAchVerification:c,intent:l,onValidityChange:o},remountDeps:[i,s,l],iframePassthrough:{style:d,...f},updateDeps:[a,s,c,l,o]}),(0,n.jsx)(`div`,{ref:p})}function h({ref:r,renderToken:i,amount:a,merchantName:o,height:s=`48px`,buttonProps:c,iframeProps:l,onConfirm:d}){let p=(0,t.useRef)(null),m=(0,e.resolveWalletButtonSkeletonBorderRadius)({iframeStyle:l?.style,buttonProps:c});return u({containerRef:p,iframeRef:r,mount:e.mountAmosGooglePayButton,options:{renderToken:i,amount:a,merchantName:o,height:s,buttonProps:c,onConfirm:d},remountDeps:[i],iframePassthrough:l??{},updateDeps:[a,o,s,c,d]}),(0,n.jsx)(f,{height:s,borderRadius:m,containerRef:p})}function g({ref:r,renderToken:i,amount:a,merchantName:o,height:s=`48px`,buttonProps:c,iframeProps:l,onConfirm:d}){let p=(0,t.useRef)(null),m=(0,e.resolveWalletButtonSkeletonBorderRadius)({iframeStyle:l?.style,buttonProps:c});return u({containerRef:p,iframeRef:r,mount:e.mountAmosApplePayButton,options:{renderToken:i,amount:a,merchantName:o,height:s,buttonProps:c,onConfirm:d},remountDeps:[i],iframePassthrough:l??{},updateDeps:[a,o,s,c,d]}),(0,n.jsx)(f,{height:s,borderRadius:m,containerRef:p})}exports.AmosApplePayButton=g,exports.AmosBankAccountPaymentMethodForm=m,exports.AmosCreditCardPaymentMethodForm=p,exports.AmosGooglePayButton=h,exports.confirmPayment=a,exports.confirmSetup=o,exports.resetForm=s,exports.validateForm=i,Object.keys(e).forEach(function(t){t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:function(){return e[t]}})});
|
package/dist/index.mjs
CHANGED
|
@@ -116,7 +116,7 @@ function T({ ref: e, renderToken: t, appearance: n, onValidityChange: r, onCardB
|
|
|
116
116
|
]
|
|
117
117
|
}), /* @__PURE__ */ p("div", { ref: u });
|
|
118
118
|
}
|
|
119
|
-
function E({ ref: e, renderToken: t, appearance: n, onValidityChange: r, billingAddressRequirement: a = "country",
|
|
119
|
+
function E({ ref: e, renderToken: t, appearance: n, onValidityChange: r, billingAddressRequirement: a = "country", requireAchVerification: o = !1, intent: s = "payment", style: c, ...l }) {
|
|
120
120
|
let u = f(null);
|
|
121
121
|
return S({
|
|
122
122
|
containerRef: u,
|
|
@@ -126,7 +126,7 @@ function E({ ref: e, renderToken: t, appearance: n, onValidityChange: r, billing
|
|
|
126
126
|
renderToken: t,
|
|
127
127
|
appearance: n,
|
|
128
128
|
billingAddressRequirement: a,
|
|
129
|
-
|
|
129
|
+
requireAchVerification: o,
|
|
130
130
|
intent: s,
|
|
131
131
|
onValidityChange: r
|
|
132
132
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amos.com/react-amos-js",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"vite-plugin-dts": "5.0.3"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@amos.com/amos-js": "0.11.
|
|
51
|
+
"@amos.com/amos-js": "0.11.4",
|
|
52
52
|
"@types/googlepay": "0.7.12"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
package/src/index.tsx
CHANGED
|
@@ -325,29 +325,24 @@ type AmosBankAccountPaymentMethodFormProps = IframePassthroughProps & {
|
|
|
325
325
|
appearance?: Appearance;
|
|
326
326
|
/**
|
|
327
327
|
* Called when form validity changes. `isValid` is true when all
|
|
328
|
-
* required fields are present and valid, or when Plaid Link
|
|
329
|
-
* returned credentials. Does not include PCI data.
|
|
328
|
+
* required fields are present and valid, or when Plaid Embedded Link
|
|
329
|
+
* has returned credentials. Does not include PCI data.
|
|
330
330
|
*/
|
|
331
331
|
onValidityChange?: (event: { isValid: boolean }) => void;
|
|
332
332
|
billingAddressRequirement?: BillingAddressRequirement;
|
|
333
333
|
/**
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
* stays hidden until the host passes a real charge.
|
|
334
|
+
* When true, hide the routing/account iframe and mount Plaid Embedded
|
|
335
|
+
* Institution Search in the parent. Ignored when `intent` is `"setup"`
|
|
336
|
+
* (setup always shows Plaid) or when the render token disables
|
|
337
|
+
* verification.
|
|
339
338
|
*
|
|
340
|
-
*
|
|
341
|
-
* `"setup"`.
|
|
342
|
-
*
|
|
343
|
-
* @default "0"
|
|
339
|
+
* @default false
|
|
344
340
|
*/
|
|
345
|
-
|
|
341
|
+
requireAchVerification?: boolean;
|
|
346
342
|
/**
|
|
347
343
|
* `"setup"` saves a bank account for later charges and always shows
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
* merchant ACH threshold.
|
|
344
|
+
* Plaid (unless the render token disables verification). `"payment"`
|
|
345
|
+
* uses {@link AmosBankAccountPaymentMethodFormProps.requireAchVerification}.
|
|
351
346
|
*
|
|
352
347
|
* @default "payment"
|
|
353
348
|
*/
|
|
@@ -360,7 +355,7 @@ export function AmosBankAccountPaymentMethodForm({
|
|
|
360
355
|
appearance,
|
|
361
356
|
onValidityChange,
|
|
362
357
|
billingAddressRequirement = "country",
|
|
363
|
-
|
|
358
|
+
requireAchVerification = false,
|
|
364
359
|
intent = "payment",
|
|
365
360
|
style,
|
|
366
361
|
...rest
|
|
@@ -375,7 +370,7 @@ export function AmosBankAccountPaymentMethodForm({
|
|
|
375
370
|
renderToken,
|
|
376
371
|
appearance,
|
|
377
372
|
billingAddressRequirement,
|
|
378
|
-
|
|
373
|
+
requireAchVerification,
|
|
379
374
|
intent,
|
|
380
375
|
onValidityChange,
|
|
381
376
|
},
|
|
@@ -384,7 +379,7 @@ export function AmosBankAccountPaymentMethodForm({
|
|
|
384
379
|
updateDeps: [
|
|
385
380
|
appearance,
|
|
386
381
|
billingAddressRequirement,
|
|
387
|
-
|
|
382
|
+
requireAchVerification,
|
|
388
383
|
intent,
|
|
389
384
|
onValidityChange,
|
|
390
385
|
],
|