Ինտեգրեք Paynet checkout-ը 15 րոպեում
Մշակողի ուղեցույց. վերցրեք Ձեր թեստային API բանալին, մեկնարկեք վճարում, վերահղեք checkout-ի էջ և ստուգեք webhook-ը՝ թեստային քարտերով, որ ոչ մի իրական գումար չշարժվի։
Այս ուղեցույցը Ձեզ կտանի զրոյից մինչև աշխատող վճարում մոտ տասնհինգ րոպեում։ Դուք կստեղծեք վճարում, կուղղեք գնորդին checkout-ի էջ և կհաստատեք արդյունքը webhook-ի միջոցով, ամեն ինչ թեստային ռեժիմում, այնպես որ ոչ մի իրական գումար չի շարժվի։
1. Ստացեք թեստային API բանալի
Paynet-ի յուրաքանչյուր հաշիվ սկսվում է Default անունով թեստային API բանալիով։ Այն կգտնեք Ձեր վահանակի API բանալիներ բաժնում, որտեղ կարող եք նաև նորը ստեղծել։ Թեստային բանալիները սկսվում են sk_test_-ով, և դրանցով արված յուրաքանչյուր վճարում sandbox վճարում է. ոչ մի բանկի հետ կապ չի հաստատվում, ոչինչ չի գանձվում, և հաստատված դոմեն դեռ պետք չէ։
2. Ստեղծեք վճարում
Ուղարկեք մեկ հարցում՝ գումարով (հայկական դրամով), Ձեր պատվերի ID-ով և գնորդին վերադարձնելու հասցեով.
curl https://paynet.am/api/v1/payments \
-H "X-Paynet-Key: sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "AMD",
"order_id": "ORD-1001",
"return_url": "https://shop.am/return",
"callback_url": "https://shop.am/webhooks/paynet"
}'
processor դաշտը պարտադիր չէ։ Եթե այն չուղարկեք, գնորդը վճարման եղանակը կընտրի hosted checkout-ի էջում։ Պատասխանը պարունակում է checkout_url։ Վերահղեք գնորդին այնտեղ։
3. Օգտագործեք թեստային քարտերը
Sandbox checkout-ում քարտի համարն է որոշում արդյունքը.
4111 1111 1111 1111- հաստատված4000 0000 0000 0002- մերժված4000 0000 0000 0069- անբավարար միջոցներ4000 0000 0000 0119- պրոցեսորի սպասման ժամկետը լրացել է
Ժամկետը, CVV-ն և քարտապանի անունը չեն ստուգվում, ուստի մուտքագրեք ցանկացած արժեք։
4. Ստուգեք webhook-ը
Երբ վճարումը հասնում է վերջնական կարգավիճակի, Paynet-ը POST-ով ուղարկում է ստորագրված payload Ձեր callback_url-ին։ Paynet-ն ուղարկում է երկու իրադարձություն.
transaction.status.updated- վճարումը հասել է վերջնական կարգավիճակի՝completed,failedկամexpired։payment.refunded- վերադարձը կատարվել է։ Այդ դեպքում body-ն պարունակում է նաևrefundօբյեկտ։
Ավարտված sandbox վճարումն այսպիսին է (կրճատված).
{
"delivery_id": "...",
"event": "transaction.status.updated",
"livemode": false,
"timestamp": "2026-06-02T09:00:00+04:00",
"transaction": { "uuid": "...", "order_id": "ORD-1001", "status": "completed", "amount": 5000, "currency": "AMD" }
}
Որոշումը կայացրեք ըստ իրադարձության անվան և transaction.status դաշտի, ոչ թե ամեն արդյունքի համար առանձին իրադարձության սպասելով։ Նախ ստուգեք X-Paynet-Signature վերնագիրը. դա request-ի հում body-ի hex HMAC-SHA256-ն է՝ հաշված այն կայքի webhook secret-ով, որի վրա գրանցված է վճարումը (Կայքեր բաժին, webhook կոճակ, «Ցուցադրել գաղտնի բանալին»)։ Թեստային վճարման դեպքում, քանի դեռ Ձեր սեփական հաստատված կայքը չունեք, դա Ձեր Paynet-ի վճարման էջն է՝ m գումարած Ձեր հաշվի համարը .pay.paynet.am։ Ստորագրության ստուգումը միակ քայլն է, որը երբեք չպետք է բաց թողնել։ Ապա կրկնությունները զտեք ըստ delivery_id-ի և վճարումը հետ կարդացեք GET /api/v1/orders/{order_id}/payment-ով, նախքան պատվերը վճարված նշելը։
5. Անցեք կենդանի ռեժիմի
Կենդանի վճարումների համար պետք են մի քանի բան. հաստատված դոմեն Ձեր return_url-ի և callback_url-ի համար, հաստատված բիզնես և իրական մատակարար (ARCA, Idram կամ Telcell), որը միացված և ակտիվացված է այդ դոմենի համար։ Ապա թեստային բանալին փոխարինեք կենդանի բանալիով (sk_live_)։ Կոդի նույն ճանապարհը, որը հենց նոր թեստավորեցիք, աշխատում է production-ում, վերաշարադրում պետք չէ։