update-payment-link
POST /api/{team}/gateway/update-payment-link/{token}
Ödeme linkini değiştirir. Yalnızca gönderilen alanlar yazılır. Linki kapatmak için is_active: false, yeniden açmak için is_active: true gönderilir. Link üzerinde sonuçlanmamış bir ödeme olması değişikliği engellemez; sonraki ödemeler linkin yeni hâliyle alınır. Aynı reference ile birden çok link olabileceğinden değiştirilecek link her zaman token ile adlandırılır.
Kimlik doğrulama
X-Api-Key, X-Timestamp, X-Signature, Content-Type: application/json. Ayrıntılar: Kimlik Doğrulama ve İmza.
İstek
{
"token": "7c1e3a5b-9d2f-4b6e-8a1c-3e5f7b9d1a2c",
"payment_link": {
"is_active": true,
"expires_at": "2027-01-31"
}
}
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
token | string | evet | Linkin token'ı. Adresteki token'la aynı olmalıdır. |
payment_link | object | evet | Değiştirilecek alanlar; create-payment-link ile aynı alanlar ve kurallar. Hiçbiri zorunlu değildir. |
itemsgönderilirse kalemlerin tamamı gönderilenlerle değiştirilir. Linkfixedtipte kalıyorsa ya daamount_type: "fixed"ile bu tipe dönüyorsa linkte kalem olmalıdır; kalemi olmayan bir link (ör. seçimli tipten dönen)itemsgöndermedenfixedyapılamaz.amount_typeseçimli bir tipe (custom,predefined,predefined_and_custom) geçirilirken o tipin zorunlu alanları (item_name, gerekiyorsapredefined_amounts) aynı istekte gönderilir; linkin kalemleri silinir.currency_type: "selectable"gönderilirkencurrenciesde gönderilir.description,payment_provider_token,expires_at,tax_rateiçinnullgönderilirse alan boşaltılır;expires_at: nulllinki süresiz yapar.- Son geçerlilik günü geçmiş bir linke bugün ya da sonrası bir
expires_at(ya daexpires_at: null) gönderilirse link yeniden etkinleşir;is_activegöndermek gerekmez. Yeni tarih göndermeden yalnızcais_active: truegöndermek422döner.
SDK örnekleri
not
Örneklerdeki $client / client nesnesinin kurulumu: İstemciyi Kurmak. SDK'larda bir alanı boşaltmak için PHP, Python ve Java'da clear, Node.js'de alana null verilir.
- PHP
- Node.js
- Python
- Java
- cURL
use Gurmehub\Odemehub\Request\UpdatePaymentLink;
$client->updatePaymentLink(new UpdatePaymentLink(token: $linkToken, isActive: false)); // kapat
$client->updatePaymentLink(new UpdatePaymentLink(token: $linkToken, isActive: true, expiresAt: '2027-01-31'));
await client.updatePaymentLink({ token: linkToken, isActive: false }); // kapat
await client.updatePaymentLink({ token: linkToken, isActive: true, expiresAt: '2027-01-31' });
from odemehub.request import UpdatePaymentLink
client.update_payment_link(UpdatePaymentLink(token=link_token, is_active=False)) # kapat
client.update_payment_link(UpdatePaymentLink(token=link_token, is_active=True, expires_at="2027-01-31"))
import com.odemehub.request.UpdatePaymentLink;
client.updatePaymentLink(UpdatePaymentLink.builder(linkToken).isActive(false).build()); // kapat
client.updatePaymentLink(UpdatePaymentLink.builder(linkToken).isActive(true).expiresAt("2027-01-31").build());
URI_PATH="/api/$ODEMEHUB_TEAM/gateway/update-payment-link/7c1e3a5b-9d2f-4b6e-8a1c-3e5f7b9d1a2c"
BODY='{"token":"7c1e3a5b-9d2f-4b6e-8a1c-3e5f7b9d1a2c","payment_link":{"is_active":true,"expires_at":"2027-01-31"}}'
TIMESTAMP=$(date +%s)
SIGNATURE=$(printf '%s\n%s\n%s\n%s' "$TIMESTAMP" "POST" "$URI_PATH" "$BODY" | openssl dgst -sha256 -hmac "$ODEMEHUB_API_SECRET" | sed 's/^.* //')
curl -X POST "https://sandbox.odemehub.com$URI_PATH" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $ODEMEHUB_API_KEY" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
--data-raw "$BODY"
Yanıt
{
"result": { "successful": true, "message": null },
"payment_link": { "...": "Ödeme linki nesnesi" }
}
payment_link: linkin güncel hâli, Ödeme linki nesnesi (transactions ve transactions_count olmadan).
HTTP durum kodları
| Kod | Durum |
|---|---|
200 | Link değiştirildi. |
401 | API anahtarı ya da imza geçersiz. |
403 | Çalışma alanı işlem yapamıyor, planı ödeme linklerini kapsamıyor ya da Link ile Ödeme modülü kapalı. |
404 | Bu ödeme linki bulunamadı. |
422 | Doğrulama hatası. |
429 | İstek sınırı aşıldı. |
Hatalar
| Alan | Mesaj |
|---|---|
token | Gövdedeki token adresteki token ile aynı olmalı. |
payment_link.is_active | Linkin son geçerlilik tarihi geçti; etkinleştirmek için yeni bir tarih gönderin. |
payment_link.items | En az bir kalem gönderilmeli. (link fixed tipte kalıyor ya da bu tipe dönüyor ve linkte kalem yok) |
payment_link.* | create-payment-link ile aynı alan mesajları. |