@flopay/react 1.3.3 → 1.4.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 CHANGED
@@ -187,6 +187,17 @@ the entire integration change — no SDK redeploy or consumer code update is
187
187
  required. Wallets only render on supported devices regardless of dashboard
188
188
  state (Apple Pay on Safari/macOS/iOS, Google Pay on Chrome).
189
189
 
190
+ In `layout="buttons"`, the **Credit / Debit Card** button always opens the
191
+ inline card form. External wallets and PayPal keep their own lifecycle:
192
+ buyer cancellation silently returns to the payment-method chooser with all
193
+ eligible options available, while post-click technical failures, popup
194
+ blocking, or a provider surface returning focus without a terminal callback
195
+ restore the chooser, focus a visible retry control for the failed method, show safe method-specific copy such as
196
+ `We couldn't open Google Pay. Try again or choose another payment method.`, and
197
+ call `onError` with a structured `FloPayError`. Passive pre-click load or
198
+ eligibility failures still collapse only the unavailable method and do not show
199
+ a checkout error.
200
+
190
201
  Toggle the whole Stripe region or the PayPal region independently with the
191
202
  two gateway-level props:
192
203
 
@@ -698,6 +709,24 @@ function PaymentStatus() {
698
709
  | `options.currency` | `string?` | ISO 4217 currency code (used when no `clientSecret`) |
699
710
  | `options.paymentMethodCreation` | `'manual' \| 'auto'` | How payment methods are created |
700
711
 
712
+ ### Privacy-safe operational telemetry
713
+
714
+ `FloPayCheckout` emits the same closed Flo-owned lifecycle/error/performance
715
+ contract as `@flopay/js`, including React render/interactivity and provider
716
+ readiness milestones. Collection is best-effort; merchant callbacks remain
717
+ available with their existing arguments and invocation order. Synchronous
718
+ throws and rejected callback promises are contained and logged only to the
719
+ merchant console; they are not uploaded as `CALLBACK_FAILED`. Set the single
720
+ `telemetry={false}` prop to opt out:
721
+
722
+ ```tsx
723
+ <FloPayCheckout sessionId={sessionId} nonce={nonce} telemetry={false} />
724
+ ```
725
+
726
+ No endpoint, custom tag, user context, message, stack, or metadata can be
727
+ configured. See [`docs/TELEMETRY.md`](../../docs/TELEMETRY.md) for the complete
728
+ privacy and retention contract.
729
+
701
730
  ### CheckoutFormProps
702
731
 
703
732
  | Prop | Type | Description |