Sipariş Sonlandırma

Base url : https://api.paymago.com/api

Sipariş oluşturma işlemi tamamlandığında, sistem, işlem sırasında belirtilen callbackUrl sayfasına yönlendirme yapar. Bu yönlendirme, bankanın 3D güvenlik doğrulama ekranını geçtikten sonra gerçekleşir. Yani, kullanıcı banka ekranında doğrulama işlemini tamamladıktan sonra, sistem, önceden belirttiğiniz callbackUrl sayfasına bazı önemli verileri POST eder.

Yönlendirme sırasında, sistem iki önemli parametreyi callbackUrl sayfasına form-data olarak POST eder:

  • orderId: Her işlem için benzersiz olan sipariş kimliği.

  • paymentId: İşlem kimliği.

Bu iki parametre, ödeme işleminin takibi ve doğrulaması için kritik öneme sahiptir.

Bu Verilerin İşlenmesi

Kullanıcı, callbackUrl sayfasına yönlendirildikten sonra, bu sayfada POST edilen orderId ve paymentId parametrelerini almanız gerekmektedir. Bu parametreleri, aşağıda belirtilen endpoint'e tekrar POST (Query parameters) etmelisiniz. Böylece, ödeme işleminin durumu ve detayları sisteminizde işlenebilir ve kaydedilebilir.


Ödeme İşlemi Sonlandırma

POST /pos/orderResult

Bu API, yetkilendirme için Bearer Token kullanır.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Query Parameters

Parametre
Tür
Açıklama
Zorunlu

paymentId

string

İşleme ait benzersiz ödeme ID'si

Evet

orderId

string

Siparişin benzersiz kimliği

Evet

Response

{
    "data": null,
    "errorInfo": "ERROR",
    "messages": [
        "İşlem Bulunamadı"
    ],
    "succeeded": false
}

Örnek POST İsteği Gönderme

<script>
        // URL'den query parametrelerini almak için bir fonksiyon
        function getQueryParameter(name) {
            const urlParams = new URLSearchParams(window.location.search);
            return urlParams.get(name);
        }

        // Query parametrelerini al
        const orderId = getQueryParameter('orderId');
        const paymentId = getQueryParameter('paymentId');

        // Parametrelerin boş olmadığını kontrol et
        if (orderId && paymentId) {
            // Parametreleri Payments/PaymentResult endpoint'ine POST etmek için jQuery kullan
            $.post('/api/Payments/PaymentResult', {
                orderId: orderId,
                paymentId: paymentId
            })
            .done(function(data) {
                console.log('Ödeme sonucu başarıyla gönderildi:', data);
            })
            .fail(function(xhr, status, error) {
                console.error('Ödeme sonucu gönderimi başarısız:', error);
            });
        } else {
            console.error('Gerekli parametreler eksik: orderId veya paymentId');
        }
    </script>

Servisten gelen örnek bir response JSON dosyası şu şekildedir;

{
 "data": {
    "paymentId": "123456",
    "orderId": "654321",
    "amount": 1000.50,
    "firstInquiryTime": "2024-09-03T12:34:56",
    "inquiryAlreadyCalled": true,
    "operationDate": "2024-09-03",
    "status": "SUCCESS",
    "statusId": 3,
    "code": "00",
    "message": "Transaction completed successfully",
    "operation": "Sale",
    "TransactionOrderId": "654321"
  },
  "errorInfo": null,
  "messages": [],
  "succeeded": true
}

Sonuç sorgulamasından gelen yanıtı işleyerek kullanıcıya işlemin başarılı olup olmadığını gösterebilirsiniz. Endpoint'ten gelen yanıtın durumu (status) ve mesajı (message), kullanıcıya işlemin sonucunu bildirmek için kullanılabilir.

Bu yanıtı aldıktan sonra kullanıcıya bir başarı mesajı gösterebilir veya hata durumunda uygun bir hata mesajı ile bilgilendirebilirsiniz.

Last updated