Works with

Add Armenian payments to any site or app

If your site or app is your own code, you integrate once against the Paynet REST API and get every method behind it: cards over the ARCA network, Idram, Telcell and ArcaQR. Amounts are whole Armenian dram. Creating a payment is one POST, the buyer goes to a hosted checkout, and the truth about the order is always one GET away. There is a JavaScript SDK when you would rather keep the buyer on your page, inline or in a modal.

How it works

  1. 01

    Create an API key in the dashboard. It is shown once, so keep it in an environment variable and never in browser code; a test key turns every payment it makes into a sandbox payment.

  2. 02

    Create the payment on your server: POST /api/v1/payments with the amount in whole dram, your own order id and a return URL on a verified domain.

  3. 03

    Send the buyer to the checkout_url that comes back, or hand it to the JS SDK to open it inline or as a modal overlay.

  4. 04

    Confirm the outcome when the buyer returns, by reading GET /api/v1/orders/{order_id}/payment rather than trusting the redirect they arrived with.

  5. 05

    Verify the webhook, which is the lowercase hex HMAC-SHA256 of the raw body in X-Paynet-Signature, dedupe on the delivery id, answer 200 quickly and read the payment back before you mark the order paid.

What you need

  • A server that can hold a secret key and receive an HTTPS callback.
  • A domain verified in Paynet: your return, cancel and callback URLs all have to live on it.
  • Your own provider credentials for the methods you want to offer, and business verification before live payments.

Paynet charges a flat amount per successful live payment and a small amount per standalone fiscal receipt, with no monthly fee and no percentage cut; your bank or wallet provider bills its own acquiring fee separately. 20 ֏

Questions

Four, plus the webhook you host: create a payment, read a payment by uuid or by your own order id, and refund. Payment links, balances and the list of methods a domain offers are there when you want them, but no integration is obliged to use them.
Send an Idempotency-Key when you create a payment: a retry with the same key inside 24 hours returns the original payment with 200 instead of creating a second one. Refunds take an Idempotency-Key too, and webhooks carry a delivery id to dedupe on.
All of it. Use a test key or the Sandbox provider and the card number picks the outcome: approved, declined by issuer, insufficient funds, processor timeout, 3-D Secure failure and more. Webhooks fire with livemode false, nothing is billed, and test payments sit under their own tab in the dashboard.
It is v1 and it stays v1. Changes are additive: fields are never removed, renamed or re-typed, error codes never change meaning, and webhook payloads only gain keys. Anything that ever has to go is announced at least 90 days ahead, by email and in the changelog. Ignore keys you do not recognise and your integration keeps working.

Take your first payment today

Create an account, connect the providers you already hold contracts with, and run a full test payment before a single dram moves. Every new account starts with free transactions and free fiscal receipts, and live payments begin once your business is verified.

Create a free account

Idram, Telcell, ARCA, ArcaQR, and the bank and platform names on this page are trademarks of their respective owners; Paynet is an independent payment gateway and is not affiliated with or endorsed by any of them.