---
title: "Generate Consumer External Payment Card Iframe"
method: POST
path: "/v2/consumers/{consumer_id}/payment-cards/external/"
tags: ["consumers"]
---

# Generate Consumer External Payment Card Iframe

`POST /v2/consumers/{consumer_id}/payment-cards/external/`

Generate the PCI-compliant card-registration iframe URL for this consumer. Render the returned `iframe_url` to collect the consumer's debit card details — the card number never touches your systems or Upward's. The request body is optional; omit it to use the payment card configuration registered for your partner. On success the card is saved against the consumer and becomes available from `GET /v2/consumers/{consumer_id}/payment-cards/external/`.

Requires either `api:write` or `api:card-management:write`.

## Path parameters

- `consumer_id` string, uuid, required

## Headers

- `Authorization` string, required

## Request body

- GenerateExternalPaymentCardIframeRequest — Optional override for the card-registration iframe. Omit the body entirely to use the payment card configuration registered for your partner. The registration template is configured by Upward against your partner record and is not a request parameter.
  - `domain` string — Parent domain that will host the iframe. Defaults to the Upward domain configured for your environment. Must be allow-listed before use — contact Upward to add one.

## Response `200`

- GenerateExternalPaymentCardIframeResponse
  - `iframe_url` string, uri, required — Single-use URL to render in an iframe. Load it promptly — the registration session it carries is short-lived.

## Other responses

- `404` — No payment card configuration found for this partner
- `422` — The card-registration provider rejected the iframe request

---

[API](https://skmtc.net/upwardli/apis/api-reference.md) · [All operations](https://skmtc.net/upwardli/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/upwardli/api-reference/revisions/8a237f1f704f/schema)
