Skip to main content

Overview

Physical Yativo Cards are plastic payment cards delivered to a shipping address. They work anywhere the payment network is accepted — in-store, at ATMs, and for contactless payments. Physical card orders go through a fulfillment process before the card is shipped.
Physical card issuance requires a fully onboarded account with KYC approved, terms accepted, and wallet deployed. See the Onboarding Guide.
interface PhysicalCardOrder {
  order_id: string;
  status: "pending" | "processing" | "shipped" | "delivered" | "cancelled";
  shipping_address: ShippingAddress;
  tracking_number?: string;
  estimated_delivery?: string;
  created_at: string;
}

interface ShippingAddress {
  line1: string;
  line2?: string;
  city: string;
  state?: string;
  postal_code: string;
  country: string; // ISO 3166-1 alpha-2
}

interface CreatePhysicalOrderRequest {
  shipping_address: ShippingAddress;
  personalization?: {
    name_on_card?: string;
  };
}

Order a Physical Card

Submit an order for a physical card. A shipping address is required.
POST /yativo-card/{yativoCardId}/cards/physical/order
yativoCardId
string
required
Your Yativo Card account ID.
shipping_address
object
required
The delivery address for the physical card.
shipping_address.line1
string
required
Street address line 1.
shipping_address.line2
string
Street address line 2 (apartment, suite, unit, etc.).
shipping_address.city
string
required
City name.
shipping_address.state
string
State or province code. Required for applicable countries.
shipping_address.postal_code
string
required
Postal or ZIP code.
shipping_address.country
string
required
ISO 3166-1 alpha-2 country code (e.g., "DE", "GB", "US").
display_name
string
A label for this card (e.g., “Personal Card”). Defaults to the account holder name.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/order' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "display_name": "Jane'\''s Personal Card",
    "shipping_address": {
      "line1": "123 Main Street",
      "line2": "Apt 4B",
      "city": "Berlin",
      "postal_code": "10115",
      "country": "DE"
    }
  }'
{
  "status": "success",
  "data": {
    "order_id": "ord_01HX9KZMB3F7VNQP8R2WDGT4F6",
    "status": "pending_payment",
    "display_name": "Jane's Personal Card",
    "shipping_address": {
      "line1": "123 Main Street",
      "line2": "Apt 4B",
      "city": "Berlin",
      "postal_code": "10115",
      "country": "DE"
    },
    "created_at": "2026-03-25T12:00:00Z"
  }
}

Attach Payment to Order

After creating an order, submit payment to initiate card fulfillment.
POST /yativo-card/{yativoCardId}/cards/physical/order/{orderId}/payment
yativoCardId
string
required
Your Yativo Card account ID.
orderId
string
required
The order ID returned when the order was created.
payment_method
string
required
Payment method. Accepted values: "card_balance", "crypto".
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/order/ord_01HX9KZMB3F7VNQP8R2WDGT4F6/payment' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "payment_method": "card_balance"
  }'
{
  "status": "success",
  "data": {
    "order_id": "ord_01HX9KZMB3F7VNQP8R2WDGT4F6",
    "payment_status": "paid",
    "order_status": "processing",
    "amount_charged": 9.99,
    "currency": "USD"
  }
}

Get Order Status

Check the current status of a physical card order.
GET /yativo-card/{yativoCardId}/cards/physical/order/{orderId}/status
yativoCardId
string
required
Your Yativo Card account ID.
orderId
string
required
The order ID to check.
curl -X GET 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/order/ord_01HX9KZMB3F7VNQP8R2WDGT4F6/status' \
  -H 'Authorization: Bearer YOUR_API_KEY'
{
  "status": "success",
  "data": {
    "order_id": "ord_01HX9KZMB3F7VNQP8R2WDGT4F6",
    "order_status": "shipped",
    "tracking_number": "1Z999AA10123456784",
    "carrier": "DHL",
    "estimated_delivery": "2026-04-02",
    "shipped_at": "2026-03-27T08:00:00Z"
  }
}

Order Status Values

StatusDescription
pending_paymentOrder created, awaiting payment.
processingPayment received. Card is being manufactured and personalized.
shippedCard has been dispatched. Tracking number available.
deliveredCard confirmed delivered to the shipping address.
cancelledOrder was cancelled before shipment.
failedOrder could not be fulfilled. Contact support.

List All Orders

Retrieve all physical card orders for a Yativo Card account.
GET /yativo-card/{yativoCardId}/cards/physical/orders
yativoCardId
string
required
Your Yativo Card account ID.
curl -X GET 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/orders' \
  -H 'Authorization: Bearer YOUR_API_KEY'
{
  "status": "success",
  "data": [
    {
      "order_id": "ord_01HX9KZMB3F7VNQP8R2WDGT4F6",
      "order_status": "shipped",
      "display_name": "Jane's Personal Card",
      "created_at": "2026-03-25T12:00:00Z",
      "shipped_at": "2026-03-27T08:00:00Z"
    }
  ],
  "total": 1
}

Cancel an Order

Cancel a physical card order. Cancellation is only possible while the order is in pending_payment or processing status. Once shipped, orders cannot be cancelled.
POST /yativo-card/{yativoCardId}/cards/physical/order/{orderId}/cancel
yativoCardId
string
required
Your Yativo Card account ID.
orderId
string
required
The order ID to cancel.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/order/ord_01HX9KZMB3F7VNQP8R2WDGT4F6/cancel' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{}'
{
  "status": "success",
  "data": {
    "order_id": "ord_01HX9KZMB3F7VNQP8R2WDGT4F6",
    "order_status": "cancelled",
    "cancelled_at": "2026-03-25T13:00:00Z",
    "refund_status": "pending"
  }
}

Set Physical Card PIN

Set the PIN for an activated physical card. The PIN is used for chip-and-PIN transactions and ATM withdrawals.
POST /yativo-card/{yativoCardId}/cards/physical/{cardId}/pin
yativoCardId
string
required
Your Yativo Card account ID.
cardId
string
required
The physical card ID (available once the card is activated).
pin
string
required
The new 4-digit numeric PIN.
otp
string
required
One-time password sent to the registered email or phone number. Request an OTP before calling this endpoint.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/yc_01HX9KZMB3F7VNQP8R2WDGT4E5/cards/physical/card_phys_01HX9KZMB3F7/pin' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "pin": "7391",
    "otp": "293847"
  }'
{
  "status": "success",
  "data": {
    "pin_set": true,
    "card_id": "card_phys_01HX9KZMB3F7"
  }
}

Delivery Timeframes

Delivery times are estimates and may vary based on destination country and carrier conditions.
RegionEstimated Delivery
Europe (EU)5–10 business days
United Kingdom5–10 business days
North America7–14 business days
Rest of World10–21 business days
After your card is shipped, you will receive a tracking number via the order status endpoint and via email notification.

Physical Card Activation

Physical cards are typically activated automatically once delivered. If your card requires manual activation, use the card activation endpoint or follow the instructions included with your card delivery.
Set your PIN as soon as you receive your card and before your first chip-and-PIN transaction to ensure smooth usage at point-of-sale terminals.