---
title: "Submit Card Payment (hosted checkout, development instances only)"
method: POST
path: "/v1/e/payins/{payin_id}/card-payment"
tags: ["Payins"]
---

# Submit Card Payment (hosted checkout, development instances only)

`POST /v1/e/payins/{payin_id}/card-payment`

## Request

- Base URL: `https://blindpay.com` (the document declares no server; this is the origin it was published from)
- URL: `https://blindpay.com/v1/e/payins/{payin_id}/card-payment`
- Auth: HTTP bearer

## Path parameters

- `payin_id` string, required

## Request body

- CreateCardPaymentIn
  - `payment_token` string, required: Single-use Collect.js payment token (expires 24h after creation, destroyed after use)
  - `cardholder_name` string, required: Name printed on the card
  - `billing_address` object, required: Cardholder billing address, submitted to the gateway for AVS
    - `address1` string, required
    - `city` string, required
    - `state` string, nullable
    - `zip` string, required
    - `country` string, required
  - `three_ds` object, nullable: 3D Secure authentication result from Gateway.js. Required on production instances.
    - `cavv` string, required
    - `eci` string, required
    - `xid` string, nullable
    - `cardholder_auth` string, nullable
    - `three_ds_version` string, nullable
    - `directory_server_id` string, nullable

## Response `200`

Card payment confirmed; the stablecoin delivery pipeline was released

- CreateCardPaymentOut
  - `success` boolean, required
  - `provider_transaction_id` string, required: Gateway transaction id of the approved card sale
  - `status` 'confirmed', required: The card payment is confirmed and the stablecoin delivery pipeline was released

## Other responses

- `400`: Possible error codes: `PAYINS_CARD_GATEWAY_ENVIRONMENT_MISMATCH`, `PAYINS_METHOD_NOT_SUPPORTED`, `VALIDATION_FAILED`. See the Error responses section for retry semantics.
- `401`: Possible error codes: `AUTH_UNAUTHORIZED`. See the Error responses section for retry semantics.
- `402`: Possible error codes: `PAYINS_CARD_PAYMENT_DECLINED`. See the Error responses section for retry semantics.
- `403`: Possible error codes: `AUTH_FORBIDDEN`. See the Error responses section for retry semantics.
- `404`: Possible error codes: `INSTANCES_NOT_FOUND`, `PAYINS_NOT_FOUND`. See the Error responses section for retry semantics.
- `409`: Possible error codes: `PAYINS_CARD_ALREADY_CHARGED`. See the Error responses section for retry semantics.
- `429`: Possible error codes: `AUTH_RATE_LIMITED`. See the Error responses section for retry semantics.
- `500`: Possible error codes: `INTERNAL_ERROR`. See the Error responses section for retry semantics.
- `502`: Possible error codes: `PAYINS_CARD_PAYMENT_PENDING`. See the Error responses section for retry semantics.

## Changes

- **2026-09-16** `db4447ca0b9e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/blindpay/apis/blindpay-api/changes/v1/e/payins/:payin_id/card-payment/post.md)

---

[API](https://skmtc.dev/blindpay/apis/blindpay-api.md) · [All operations](https://skmtc.dev/blindpay/apis/blindpay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blindpay/apis/blindpay-api/revisions/417cbe3c8a6a?raw)
