diff --git a/CHANGELOG.md b/CHANGELOG.md index f6e9a64..4c4899a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Added +- Optional `iframe` field on `invoices.create` (`iframe?: boolean | number`). Like `paymentMode`, it is an unsigned passthrough — sent in the request body but excluded from the HMAC signature. Set `iframe: true` to request a checkout suitable for embedding. - Retry with exponential backoff and full jitter for transient failures (429, 5xx, network errors, timeouts), honoring `Retry-After`. Only replay-safe requests are retried — GETs, calls carrying an `Idempotency-Key`, and pure reads such as `payments.checkStatus`. Charges are never replayed. - `maxRetries` client option (default `2`; `0` disables). - `PaylinkApiError.retryAfterMs` and `PaylinkApiError.isRateLimited`. diff --git a/README.md b/README.md index fe2afc1..601dc09 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,22 @@ const checkout = await paylink.invoices.create({ console.log(checkout.checkoutUrl, checkout.invoiceId, checkout.expiresAt); ``` +Pass `iframe: true` to receive a `checkoutUrl` suitable for embedding — for +example rendering the hosted checkout inside an `