Alıcının nasıl ödeyeceğini seçin
| Seçenek | Kimin için | Çaba |
|---|---|---|
Hazır ödeme sayfası — checkout_url adresine yönlendirin | Her site, en hızlı başlangıç. Tutar, ağ, adres, QR ve canlı durum gösterilir | Tek API çağrısı |
Kendi ödeme sayfanız — crypto.address ve crypto.amount_coin gösterin | Kendi deneyiminiz, alıcı alan adınızdan ayrılmaz | API çağrısı + arayüzünüz |
| CMS — WooCommerce, Shopify | Platformlardaki mağazalar | Aşağıdaki bölümlere bakın |
Adım 1: sunucunuzda sipariş oluşturun
Gizli anahtarla tarayıcıdan asla sipariş oluşturmayın. Sepet toplamı ve alıcının seçtiği coin ile API’yi arka uçtan çağırın:
curl -X POST https://api.utopay.app/v1/crypto/payments \
-H "Authorization: Bearer utopay_sk_live_..." \
-H "content-type: application/json" \
-d '{ "coin": "bep20/usdt", "amount": 49.90, "currency": "EUR",
"description": "Order #1042",
"success_url": "https://shop.example/thanks",
"cancel_url": "https://shop.example/cart" }'
Hesapla, ödeme cüzdanı proje ayarlarından alınır. Hesapsız kullanımda POST /v1/crypto/pay kullanın ve payout_address gönderin. Minimumlarla birlikte coin ve ağ listesi GET /v1/crypto/coins adresindedir.
Adım 2: alıcıyı ödemeye gönderin
checkout_urladresine yönlendirin: sayfa tam tutarı, ağı, QR kodu ve canlı durumu gösterir, ardından alıcıyısuccess_urladresinize döndürür.- Ya da
crypto.addressvecrypto.amount_coindeğerlerini kendiniz gösterin ve alıcı sayfadaykenGET /v1/payments/:idile sorgulayın.
Adım 3: ödemeyi webhook ile onaylayın
Yalnızca yönlendirmeye güvenmeyin. Uç noktanız imzalı payment.succeeded olayını aldığında siparişi ödendi olarak işaretleyin; istenenden az geldiyse payment.underpaid olayını işleyin. x-utopay-signature başlığını whsec_… gizli anahtarınızla doğrulayın: Node.js, PHP ve Python örnekleri webhook dokümanlarında.
<?php // PHP: UTOPAY webhook doğrulaması
$raw = file_get_contents("php://input");
parse_str(str_replace(",", "&", $_SERVER["HTTP_X_UTOPAY_SIGNATURE"]), $sig);
$expected = hash_hmac("sha256", $sig["t"] . "." . $raw, getenv("UTOPAY_WHSEC"));
if (!hash_equals($expected, $sig["v1"] ?? "") || abs(time() - (int)$sig["t"]) > 300) {
http_response_code(400); exit;
}
$event = json_decode($raw, true);
if ($event["event"] === "payment.succeeded") { /* $event["data"]["id"] siparişini ödendi yap */ }
http_response_code(200);
WordPress ve WooCommerce
WooCommerce için hazır bir UTOPAY eklentisi var: eklentiler sayfasına bakın. Eklenti olmadan bir WooCommerce mağazası API ile entegre olur: siparişi woocommerce_checkout_order_processed kancasında oluşturun, checkout_url adresine yönlendirin ve siparişi webhook işleyicisinden tamamlayın.
Shopify
Shopify, ödeme ağ geçidi olarak yalnızca onaylı ödeme uygulamalarını gösterir. Pratik kurulum bir manuel ödeme yöntemi (örneğin «Kriptoyla öde») ve bir UTOPAY ödeme sayfasıdır: sipariş verildiğinde uygulamanız veya otomasyonunuz toplam tutar için bir UTOPAY siparişi oluşturur ve alıcıya checkout_url bağlantısını e-postayla gönderir. Ardından webhook Shopify siparişini ödendi olarak işaretler.
Yayına çıkmadan önce kontrol listesi
- Tüm akışı test anahtarlarıyla (
utopay_sk_test_…) deneyin: test siparişleri blokzincire hiç dokunmaz. - Ödeme cüzdanının sunduğunuz tüm ağları desteklediğini kontrol edin.
- Tutarın yanında ağ adını gösterin: yanlış ağa transfer en sık destek talebidir.
- UTOPAY sipariş
iddeğerini kendi siparişinizle birlikte saklayın ve webhook’ları buna göre tekilleştirin. underpaidsiparişlerle ne yapacağınıza yayından önce karar verin.
Güncellendi · UTOPAY ekibi