← Վերադառնալ բլոգ

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

· 3 min read
api headless integration feature

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

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

Հարցման ձևը

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

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..."
  }'
{
  "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 փաստաթղթերում: Հարցերը ողջունվում են: