Geliştirici Merkezi

TR

Callback

Ödeme hizmeti sağlayıcısının ödemenin tamamlandığını bildirmesi üzerine faturanın durumunu "ödendi" olarak işlenmesini sağlayan adımdır.

İşlevi kullanmanız gereken durumlar aşağıda açıklanmıştır:

  • "Third Party" yöntemi kullanıyorsa ödemenin durumunu "callback" bağlantısına iletilmesi.
  • 3D doğrulama aşamasından sonra ödemenin durumunu "callback" bağlantısına iletilmesi.
  • IPN mesajları için ödemenin durumunu "callback" bağlantısına iletilmesi.

İşlevin içerisinde amaç ödemenin onaylanması ise, örnek kodlarda belirtildiği üzere öncelikle "checkout" değişkeninin tanımlanması gerekmektedir.

"get_checkout" işlevi

İşleve iki parametre girilmektedir.

Birinci parametre, "checkout ID" numarasıdır. İkinci parametre ise "checkout" öğesinin ödenme durumu "unpaid" veya "paid" anlamına gelir.

İkinci parametreyi boş bırakırsanız durum fark etmeksizin "checkout" öğesini getirecektir. (Bu durum, mükerrer istek geldiğinde mükerrer fatura/hizmetin oluşmasına sebep olabilir. Boş bırakmayı sadece ödemenin "onay" sürecinde iken kullanmanız önerilir.)

"set_checkout" işlevi

İşleve bir parametre tanımlayabilirsiniz. Tanımlayacağınız değer "get_checkout" işlevinden geri dönen değer olmalıdır.

Geri Dönüş Değeri

İşlevin geri dönüş değeri "dizi" olmalıdır. Dizi anahtarları ve değerleri aşağıda açıklanmıştır:

İsim Türü Zorunlu Açıklama
status string Evet Ödemenin durumu aşağıdakileri içerebilir:
---
successful : Ödemenin başarılı olduğunu belirtir.
pending: Ödemenin bekleniyor olduğunu belirtir.
error: ödemenin başarısız olduğunu belirtir
message string veya array Hayır Yöneticiye ödeme hakkında bilgi vermeniz gereken herhangi bir durum olduğunda kullanılır. (Ör: Ödemenin takibi ile alakalı numara)
Kabul edilebilir değer: "array" ve "string"
callback_message string Hayır Tanımlandığı taktirde istemcinin karşısına girdiğiniz değer görünecektir.  Tanımlanmaz ise istemci ödemenin durumuna göre "başarılı" veya "başarısız" sayfasına yönlendirilecektir.  
paid Array Hayır Ödenen  tutarın bilgisi [amount] [currency]
paid [amount] Float Evet Ödenen tutarın miktarı
paid[currency] String Evet Ödenen tutarın para birimi, ör: "USD,EUR,GBP,TRY"

Örnek Kullanım

public function callback()
{
    // Obtain the custom id that you forwarded to the payment provider.
    $custom_id      = (int) Filter::init("POST/custom_id","numbers");

    if(!$custom_id){
        $this->error = 'Custom id not found.';
        return false;
    }

    // Let's get the checkout information.
    $checkout       = $this->get_checkout($custom_id);

    // Checkout invalid error
    if(!$checkout)
    {
        $this->error = 'Checkout ID unknown';
        return false;
    }

    // You introduce checkout to the system
    $this->set_checkout($checkout);

    // You decide the status of the payment.

    return [
        /* You can define it as 'successful' or 'pending'.
            * 'successful' : Write if the payment is complete.
            * 'pending' : Write if the payment is pending confirmation.
            */
        'status'            => 'successful',

        /*
            * You can host any id number for any information you need to report to the administrator after payment or for later use in returning the invoice. This information will be stored as JSON type in the invoices.pmethod_msg field in the database.
            * Acceptable value : 'array' and 'string'
            */
        'message'        => [
            'Merchant Transaction ID' => '123X456@23',
        ],
        /*
            * When requests are sent to the callback address regarding the status of the payment, you can use this field to provide a specific response. If you do not use this field, the response will direct to the 'Payment Completed' page if the payment is successful, or to the 'Payment Failed' page if it is unsuccessful.
        */
        'callback_message'        => 'Transaction Successful',
        /*
            * This index is optional and is used to indicate the total amount paid on the side of the payment intermediary. If the paid amount exceeds the total amount of the invoice, the excess is added to the invoice as a payment commission. This index contains two sub-indices: The first sub-index, 'amount', should be of the float type. 'Currency' refers to the currency code, which should be specified according to ISO 4217 standards.
        */
        'paid'                    => [
            'amount'        => 15,
            'currency'      => "USD",
        ],
    ];
}
İadeler Checkout

Bir Sorunuz mu Var?

Bize yazmaktan çekinmeyin. En kısa sürede yanıt göndereceğiz.
Bize Ulaşın.
Copyright © 2024. All Rights Reserved.
Join Our Discord Channel
Top