İçeriğe atlayın

API

Bu sayfada

Yatırmayı simüle et

Sandbox kanal yatırmasını confirming, reorged veya confirmed aşamasına sürükleyin ve gerçek bir zincir üstü ödemenin ürettiği webhook'ları alın.

POST/v1/sandbox/payment-channels/:payment_channel_id/simulate-deposit

API anahtarı: Payment · Ortam: Yalnızca Sandbox

Kanalda yeni bir yatırma oluşturur ve istediğiniz aşamaya sürükler; gerçek bir ödemenin yayacağı webhook'ların aynısını yayar ve aynı yatırma sözleşmesini üretir. Hiçbir blockchain ve hiçbir sağlayıcı devreye girmez.

İstek gövdesi

Parametre Tip Zorunlu Açıklama
amount string Evet Ondalık dize olarak yatırma tutarı, örneğin "100".
currency string Evet Kanalın projesinde etkin bir token, örneğin USDT.
network string Evet Token'ın geldiği ağ kodu, örneğin TRC20.
stage string Hayır confirming, reorged veya confirmed. Varsayılan: confirmed.
{
  "amount": "100",
  "currency": "USDT",
  "network": "TRC20",
  "stage": "confirmed"
}

Aşamalar

Her çağrı, gerçek bir algılamada olduğu gibi önce payment_channel.deposit.confirming olayını yayar. Nerede duracağına stage karar verir:

Aşama Bittiği yer Yayılan webhook'lar
confirming confirming confirming
reorged reorged confirming, sonra reorged
confirmed confirmed confirming, sonra confirmed

Her çağrı, yeni bir pcd_ kimliğiyle yeni bir yatırma oluşturur. Bir reorg'un ardından aynı ödemenin zincire yeniden dahil edilmesini denemek için iki simüle yatırma yerine production benzeri bir akış kullanın — simülatör, yeniden dahil edilme senaryosunu üretmez.

Yanıt (200 OK)

Kanal Yatırması Getir ile birebir aynı biçimde, tam yatırma sözleşmesi.

{
  "id": "pcd_7VjMrK3fXd9BzQ4tLnWyGh",
  "payment_channel_id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
  "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
  "payment_channel_external_id": "customer-42",
  "status": "confirmed",
  "is_final": true,
  "is_test": true,
  "currency": "USDT",
  "network": "TRC20",
  "chain_id": 728126428,
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
  "gross": "100",
  "fee": "1",
  "net": "99",
  "applied_fee_percent": 1.0,
  "customer_fee_percent": 0,
  "tx_hash": "4c8a2f61d05be79341ac6b28e5f0d97341b6ce80a2f5d3719b04ec6a582f1d37",
  "transfer_id": "sandbox:payment-channel-deposit:9a1f7c3e5b8d42069e7a15c0d3b64f28",
  "destination_address": "TQ5mVdC8yPjRs2NbHfW7ZkXe1LoAu4Tg6r",
  "block_height": 0,
  "first_included_block_timestamp": 1767225600,
  "explorer_url": "https://tronscan.org/#/transaction/4c8a2f61d05be79341ac6b28e5f0d97341b6ce80a2f5d3719b04ec6a582f1d37",
  "created_at": 1767225600,
  "updated_at": 1767225600,
  "confirmed_at": 1767225600
}

İki alan gerçek bir yatırmadan farklı görünür ve ikisi de kaza değil, dürüst birer işarettir: block_height 0'dır, transfer_id ise sandbox:… ad alanını taşır. Simüle edilmiş bir kaydı her zincir tarama yolunun dışında tutan da bu değerlerdir. explorer_url sentetik bir hash'ten üretilir — işaret ettiği işlem hiçbir zincirde yoktur.

Sandbox parası sanaldır. fee ve net, yatırmanın kendi anlık görüntü oranlarından hesaplanır; tutar da gerçek bir yatırmanın canlı bakiyenize düştüğü gibi sandbox bakiyenize düşer.

Kurallar

  • Kanal bir sandbox kanalı olmalı ve isteği sandbox Payment anahtarıyla imzalamalısınız. Production anahtarı, hiçbir şey oluşturulmadan önce reddedilir.
  • currency + network çifti; projede etkin ve sandbox kataloğunda kabul edilen bir token olmalıdır.
  • amount, token'ın ondalık hassasiyetine sığmalıdır. Fazla ondalıklı bir tutar sessizce yuvarlanıp başka bir sayıya dönüşmez, reddedilir.

Hatalar

Kod HTTP Ne zaman
payment_channels_disabled 503 Ödeme kanalları, bu ortamda hesabınız için etkin değil.
payment_key_required 403 İstek, Payout (rk_) anahtarıyla imzalandı.
payment_channel_simulation_sandbox_only 403 Kanal bir production kanalı.
payment_channel_not_found 404 Kimlik, bu kimlik bilgisinin görebileceği hiçbir şeye çözülmüyor.
currency_not_enabled_for_project 400 Token, kanalın projesinde etkin değil.
acceptance_disabled 503 Token şu anda tahsilat için kabul edilmiyor.
amount_too_many_decimals 400 amount, token'ın desteklediğinden fazla ondalık basamak içeriyor.
field_must_be_positive 400 amount sıfır veya negatif.
field_invalid_enum 400 Bilinmeyen bir currency, network veya stage.

Geniş sandbox iş akışı için bkz. Test; tam katalog için bkz. Hata Kodları.