Անցնել բովանդակությանը
OneGate փաստաթղթեր
Կառավարման վահանակ
Ուղեցույցներ

Արագ մեկնարկ

Ընդունեք առաջին թեստային վճարումը հինգ քայլով։

1. Ստեղծեք API բանալի

Կառավարման վահանակում բացեք Վճարային մատակարարներ → Sandbox → Միացնել, ապա Ծրագրավորողների համար → API բանալիներ → Ստեղծել թեստային բանալի։ Պատճենեք sk_test_… գաղտնի բանալին. այն ցուցադրվում է միայն մեկ անգամ։

2. Ստեղծեք վճարում

bash
curl https://api.onegate.am/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: ORD-1001" \
  -d '{
    "amount": 12500,
    "currency": "AMD",
    "order_id": "ORD-1001",
    "return_url": "https://shop.am/orders/ORD-1001",
    "locale": "hy",
    "metadata": { "customer_id": "cus_100" }
  }'
ts
import { OneGate } from "@onegate/node";

const onegate = new OneGate(process.env.ONEGATE_SECRET_KEY!);
const payment = await onegate.payments.create(
  { amount: 12500, currency: "AMD", order_id: "ORD-1001", return_url: "https://shop.am/orders/ORD-1001", locale: "hy" },
  { idempotencyKey: "ORD-1001" },
);
// redirect the customer to payment.checkout_url
php
$onegate = new \OneGate\Client(getenv('ONEGATE_SECRET_KEY'));
$payment = $onegate->payments()->create([
    'amount' => 12500, 'currency' => 'AMD', 'order_id' => 'ORD-1001',
    'return_url' => 'https://shop.am/orders/ORD-1001', 'locale' => 'hy',
], idempotencyKey: 'ORD-1001');
header('Location: ' . $payment['checkout_url']);
json
{
  "id": "pay_06GCWGE55HZ397FHWNCZVHHC2R",
  "object": "payment",
  "status": "created",
  "amount": 12500,
  "currency": "AMD",
  "checkout_url": "https://pay.onegate.am/cs_06GCWGE56H..."
}
Գումարները ամբողջ թվեր են՝ արժույթի նվազագույն միավորով։ AMD-ի համար օգտագործվում են ամբողջ դրամներ՝ 12500 նշանակում է 12 500 ֏։ locale դաշտը (hy, en կամ ru) պարտադիր չէ. առանց դրա վճարման էջը բացվում է ձեր լռելյայն լեզվով, և հաճախորդը միշտ կարող է փոխել լեզուն։

3. Ուղղորդեք վճարման էջ

Ուղարկեք հաճախորդին checkout_url հասցեով։ Թեստային ռեժիմում ընտրեք Բանկային քարտ, ապա Sandbox բանկի էջում ընտրեք արդյունքը։

4. Ստացեք webhook

Ավելացրեք հասցե Ծրագրավորողների համար → Webhook-ներ բաժնում և ստուգեք յուրաքանչյուր հարցում (տե՛ս Webhook-ներ)։

ts
import { verifyWebhook } from "@onegate/node";

app.post("/webhooks/onegate", express.raw({ type: "application/json" }), (req, res) => {
  const event = verifyWebhook(req.body, req.headers, process.env.ONEGATE_WEBHOOK_SECRET!);
  if (event.type === "payment.completed") fulfil(event.data.object.order_id);
  res.sendStatus(200);
});
php
$raw = file_get_contents('php://input');
$event = \OneGate\Webhook::verify($raw, $_SERVER['HTTP_ONEGATE_SIGNATURE'] ?? '',
    $_SERVER['HTTP_ONEGATE_TIMESTAMP'] ?? '', getenv('ONEGATE_WEBHOOK_SECRET'));
if ($event['type'] === 'payment.completed') {
    fulfil($event['data']['object']['order_id']);
}
http_response_code(200);

5. Ստուգեք վճարման կարգավիճակը

Ապրանքն ուղարկելուց առաջ հաստատեք կարգավիճակը սերվերից։ Հաճախորդի վերադարձը ձեր return_url հասցեով վճարման ապացույց չէ։

bash
curl https://api.onegate.am/v1/payments/pay_06GC... -H "Authorization: Bearer sk_test_..."