---
title: "Retrieve Payin"
method: GET
path: "/v1/instances/{instance_id}/payins/{id}"
tags: ["Payins"]
---

# Retrieve Payin

`GET /v1/instances/{instance_id}/payins/{id}`

## Path parameters

- `instance_id` string, required
- `id` string, required

## Response `200`

List payins

- PayinOut
  - `id` string, required
  - `pix_code` string, nullable — PIX code
  - `memo_code` string, nullable — Memo code
  - `clabe` string, nullable — CLABE code
  - `status` 'processing' | 'on_hold' | 'failed' | 'refunded' | 'completed', required — Payin general status
  - `payin_quote_id` string, required
  - `instance_id` string, required
  - `customer_id` string, required
  - `partner_fee` integer — Payin partner fee amount in cents
  - `tracking_transaction` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payin transaction step
    - `status` 'failed' | 'completed', nullable — Payin transaction status
    - `external_id` string, nullable — Payin transaction external id
    - `completed_at` string, nullable — Payin transaction completed date
    - `transaction_hash` string, nullable — Blockchain transaction hash
    - `provider_name` 'Nvio Pagos' | 'Brex' | 'Stark Bank' | 'JPMorgan Chase' | 'HSBC' | 'Inter' | 'JP Morgan Chase' | 'Bitso' | 'Citi' | 'CFSB' | 'Triple A Technologies' | 'Portage Bank', nullable — Payment provider name
    - `provider_transaction_id` string, nullable — Payment provider transaction id
    - `sender_name` string, nullable
    - `sender_bank_name` string, nullable
    - `sender_tax_id` string, nullable
    - `sender_bank_code` string, nullable
    - `sender_account_number` string, nullable
    - `end_to_end_id` string, nullable — BACEN Pix end-to-end transaction ID (govt Pix ID)
    - `trace_number` string, nullable
    - `transaction_reference` string, nullable
    - `description` string, nullable
    - `pse_instruction` object, nullable
      - `payment_link` string, required — PSE payment link URL
      - `fid` string, required — PSE funding identifier for webhook matching
      - `full_name` string, required — PSE payer full name
      - `tax_id` string, required — PSE payer document number
      - `document_type` 'CC' | 'NIT', required — PSE payer document type
      - `phone` string, required — PSE payer phone number
      - `email` string, required — PSE payer email
      - `bank_code` string, nullable — PSE payer bank code
    - `transfers_instruction` object, nullable
      - `account` string, required — CVU/CBU/Alias account number
      - `type` 'CVU' | 'CBU' | 'ALIAS', required — Account type (CVU, CBU, or ALIAS)
      - `tax_id` string, nullable — CUIT/CUIL (normalized, digits only)
    - `ted_instruction` object, nullable
      - `beneficiary_name` string, required
      - `tax_id` string, required
      - `bank_code` string, required
      - `bank_name` string, required
      - `branch_code` string, required
      - `account_number` string, required
      - `account_type` string, required
  - `tracking_payment` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payment step
    - `provider_name` string, nullable — Payment provider name
    - `completed_at` string, nullable — Payment completed date
    - `review_source` string, nullable — Primary risk source that sent this payin to manual review
    - `review_context` object, nullable — Structured risk context for manual review
    - `review_sources` string[], nullable — Every risk source that flagged this payin on the pending review
    - `review_contexts` object, nullable — Structured risk context per flagging source
    - `approved_risk_sources` string[], nullable — Risk sources already approved by an analyst
  - `tracking_complete` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
    - `transaction_hash` string, nullable — Complete transaction hash
    - `completed_at` string, nullable — Complete completed date
  - `manual_execution_status` 'pending' | 'concluded' | 'failed', nullable — When non-null, the payin was created while the manual OTC liquidity toggle was ON. `pending` means an operator must convert BRL→USDT manually and click "Mark concluded"; `concluded` closes the internal flow. Customer-facing behavior is identical in either mode.
  - `manual_concluded_at` unknown
  - `manual_concluded_by` string, nullable — Identifier of the operator who marked the manual OTC concluded.
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable
  - `image_url` string, uri, nullable
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `legal_name` string, nullable
  - `type` 'individual' | 'business', required
  - `payment_method` 'ach' | 'wire' | 'pix' | 'ted' | 'spei' | 'transfers' | 'pse' | 'international_swift' | 'rtp', required
  - `sender_amount` number, nullable, required — 52.40 BRL needs to be sent in a pix transfer
  - `receiver_amount` number, nullable, required — 10.10 USDC
  - `token` 'USDC' | 'USDT' | 'USDB', required
  - `partner_fee_id` string, nullable
  - `partner_fee_amount` number, nullable — 1.5 USDC
  - `total_fee_amount` number, nullable — 1.53 USDC
  - `commercial_quotation` number, nullable, required — 1 USD = 4.95 BRL
  - `blindpay_quotation` number, nullable, required — 1 USD = 5.05 BRL (commercial quotation + (blindpay taxes))
  - `currency` 'BRL' | 'USD' | 'MXN' | 'COP' | 'ARS' | 'EUR', required — ISO 4271 currency code
  - `billing_fee_amount` number, nullable — BlindPay fee in cents accrued to your billing cycle (charged at the end of the month). Virtual account deposits below $100.00 always accrue here, so small deposits are delivered in full.
  - `transaction_fee_amount` number, nullable — BlindPay fee in cents deducted from the transaction at the time it is processed. Virtual account deposits of $100.00 or more are charged here (unless your instance is configured for end-of-month billing, in which case every fee accrues to billing_fee_amount).
  - `is_otc` boolean, nullable — If true, the payin quote is for an OTC (Over the Counter) transaction
  - `payer_rules` object, nullable
    - `pix_allowed_tax_ids` string[], nullable
    - `transfers_allowed_tax_id` string, nullable
    - `pse_allowed_tax_ids` string[], nullable
    - `pse_full_name` string, nullable
    - `pse_document_type` 'CC' | 'NIT', nullable
    - `pse_document_number` string, nullable
    - `pse_email` string, email, nullable
    - `pse_phone` string, nullable
    - `pse_bank_code` string, nullable
  - `name` string, required
  - `address` string, nullable
  - `network` 'base' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'arbitrum' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'stellar' | 'stellar_testnet' | 'tron' | 'solana' | 'solana_devnet' | 'tempo' | 'tempo_testnet', required
  - `blindpay_bank_details` object, nullable
    - `routing_number` string
    - `account_number` string
    - `account_type` string
    - `swift_bic_code` string, nullable
    - `ach` object, nullable
      - `routing_number` string, required
      - `account_number` string, required
    - `wire` object, nullable
      - `routing_number` string, required
      - `account_number` string, required
    - `rtp` object, nullable
      - `routing_number` string, required
      - `account_number` string, required
    - `beneficiary` object, required
      - `name` string
      - `address_line_1` string
      - `address_line_2` string
    - `receiving_bank` object, required
      - `name` string
      - `address_line_1` string
      - `address_line_2` string
    - `swift_account_number` string, nullable
    - `swift_receiving_bank` object, nullable
      - `name` string, nullable
      - `address_line_1` string, nullable
      - `address_line_2` string, nullable
  - `pse_payment_link` string, nullable — PSE payment link (derived from tracking_transaction.pse_instruction)
  - `pse_full_name` string, nullable — PSE payer full name
  - `pse_tax_id` string, nullable — PSE payer document number
  - `pse_document_type` 'CC' | 'NIT', nullable — PSE payer document type

## Other responses

- `400` — Possible error codes: `VALIDATION_FAILED`. See the Error responses section for retry semantics.
- `401` — Possible error codes: `AUTH_UNAUTHORIZED`. 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: `PAYINS_NOT_FOUND`. 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.

---

[API](https://skmtc.dev/blindpay/apis/blindpay-api.md) · [All operations](https://skmtc.dev/blindpay/apis/blindpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blindpay/blindpay-api/revisions/470de27afb7b/schema)
