# Առանց ինտերֆեյսի վճարումներ՝ ավանդի վրա հիմնված չեքաութ մեկ հարցումով

> Նոր API էնդփոյնթ ծրագրավորողների համար, ովքեր արդեն գիտեն, թե որ թոքենով և որ ցանցում է հաճախորդը վճարելու, ստեղծիր վճարումը և ստացիր պատրաստի ավանդի հասցե մեկ ցիկլում, առանց ֆիլհոսթ UI-ի:

Source: https://mutopay.com/hy/blog/headless-payment-api/
Language: hy
Date: 2026-04-14

---

Եթե սեփական չեքաութ ես կառուցում, մոբայլ հավելված, գործընկերային հարթակ, կամ հատուկ խանութ, ֆիլհոսթ `/pay/{id}` էջը միշտ չէ, որ հարմար է: Դու արդեն ունես քո սեփական դրամապանակի հոսքը: Արդեն գիտես, թե որ ցանցում և որ թոքենով է հաճախորդդ ուզում վճարել: Քեզ իրականում պետք է մեկ API հարցում, որը կվերադարձնի ավանդի հասցեն և ուղարկելիք ճշգրիտ գումարը:

Դրա համար է `POST /api/payments/headless`-ը:

## Հարցման ձևը

Մեկ հարցում ներս: Մեկ պատասխան դուրս:

```bash
curl -X POST https://mutopay.com/api/payments/headless \
  -H "X-API-Key: ep_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25.00,
    "currency": "USD",
    "description": "Պատվեր #1042",
    "external_id": "order_1042",

    "src_token_symbol": "USDT",
    "src_token_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
    "src_chain_id": "137",
    "src_decimals": 6,
    "src_address": "0xCustomerWallet..."
  }'
```

```json
{
  "id": "pay_abc123...",
  "status": "awaiting_payment",
  "route_type": "bridge",
  "protocol": "rubic",
  "deposit": {
    "address": "0xRubicDepositAddress...",
    "chain_id": "137",
    "chain_type": "evm",
    "token_symbol": "USDT",
    "token_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
    "token_decimals": 6,
    "amount_raw": "25100000",
    "amount_human": "25.10",
    "payment_uri": "ethereum:0x...@137?value=25100000"
  },
  "bridge": {
    "name": "Across",
    "estimated_time_ms": 60000,
    "src_usd": "25.10",
    "bridge_fee_usd": "0.10"
  },
  "order_id": "rubic_exchange_id...",
  "expires_at": "2026-04-14T15:30:00Z"
}
```

Քո հավելվածն այժմ ունի այն ամենը, ինչ պետք է․ ասա հաճախորդին, որ ուղարկի **ճշգրիտ** `amount_raw` չափով սկզբնաղբյուր թոքեն `address` հասցեով: Ցանկության դեպքում ցուցադրիր QR կոդ `payment_uri`-ից: Պարբերաբար հարցիր `GET /api/payments/{id}/status`՝ մինչև վերջնական վիճակի հասնելը:

## Երկու երթուղու տիպ, նույն ձևը

- **Ուղիղ**: նույն թոքեն, նույն ցանց (հաճախորդը վճարում է USDT Polygon-ով, դու վերջահաշիվ ստանում ես USDT Polygon-ով): Ավանդի հասցեն քո դրամապանակն է: Առանց բրիջի վարձավճարների, առանց սպասման:
- **Սվափ/բրիջ ավանդ**: միջթոքենային կամ միջցանցային երթուղի, որտեղ հաճախորդը մեկ գործարքով ուղարկում է մուտքի հասցեին, իսկ վերջահաշվային թոքենը հասնում է քո դրամապանակին: Առանց որևէ պատվեր ստորագրելու:

Երթուղիները, որոնք պահանջում են հաճախորդից ստորագրել տիպավորված պատվեր կամ ուղարկել on-chain սվափ գործարք, չեն սպասարկվում այս էնդփոյնթով, եթե դա միակ հասանելի երթուղին է, դու կստանաս 422: Այդ դեպքերի համար օգտագործիր ֆիլհոսթ `/pay/{id}` էջը կամ ավելի ցածր մակարդակի `/quotes` + `/build-order` + `/submit-order` երրորդյակը:

## Ինչ է մնում քեզ անել

Երկու բան:

**1. Ստացիր tx hash-ը, եթե կարող ես:** Սվափ/բրիջ ավանդների դեպքում ոչինչ պետք չէ անել, ֆոնային մոնիտորը ինքը կնկատի ավանդը և կնշի վճարումը որպես ավարտված: Ուղիղ երթուղիների դեպքում մոնիտորը ստուգում է միայն, երբ ունի tx hash, ուստի հաճախորդի կողմից գործարքի հեռարձակումից հետո կանչիր `POST /api/payments/{id}/confirm`՝ `{ "tx_hash": "0x..." }`-ով: Եթե քո դրամապանակի UI-ն քեզ տալիս է hash-ը (շատերը տալիս են), սա մեկ տողանոց փոփոխություն է:

**2. Հետևիր կարգավիճակին:** `GET /api/payments/{id}/status` վերադարձնում է ընթացիկ վիճակը և tx hash-ը, երբ վճարումը հասնում է: Քո կանալում կարգավորած webhook-ը նույն իրադարձություններն է կրակում (`payment.completed`, `payment.failed`, և այլն), ընտրիր այն, ինչ ավելի լավ է համապատասխանում քո ճարտարապետությանը:

## Երբ որն օգտագործել

| Ինչ ես կառուցում | Օգտագործիր |
|---|---|
| WooCommerce / Shopify-ի ոճի ինտեգրացիա՝ վերաուղղորդմամբ | `POST /api/payments` → `/pay/{id}` |
| Անհատականացված չեքաութ, որտեղ ինքդ ես ղեկավարում դրամապանակի հոսքը | `POST /api/payments/headless` |
| Պետք է առաջարկել մի քանի սվափ երթուղի և օգտատիրոջը թողնել ընտրությունը | `POST /api/payments` + `/quotes` + `/build-order` |

Headless էնդփոյնթը նեղ է՝ դիտավորությամբ: Ինքնաշխատ ընտրում է լավագույն ավանդի վրա հիմնված երթուղին, ամրագրում է այն և վերադարձնում ավանդի հասցե: Եթե ավելի շատ վերահսկողություն է պետք, արագություն vs գին, մի քանի երթուղու տարբերակ, ստորագրված պատվերի հոսքեր, մանրամասն էնդփոյնթները դեռ տեղում են:

Ամբողջական տեղեկատու՝ [API փաստաթղթերում](/api/docs): Հարցերը ողջունվում են:
