Ana içeriğe geç

13. Widget Akışının Ekran Görüntüleri

1 – AccessToken Alınır (Backend)

AccessToken Alınır

2 – WidgetToken Üretilir (Backend)

WidgetToken Üretilir

3 – Widget Frontend’e Aktarılır

Backend tarafından üretilen WidgetToken, frontend’e iletilir.

4 – Widget Başlatılır (Frontend)

FinrotaPay.init({
token: "WIDGET_TOKEN",
amount: 2750,
currency: "TRY",
mode: "modal",
containerId: "payment-container",
environment: "prod"
});

5 – Kullanıcı Kart Bilgilerini Girer (Widget UI)

Kullanıcı Kart Bilgilerini Girer (Widget UI) - 1 Kullanıcı Kart Bilgilerini Girer (Widget UI) - 2

6 – Widget PreparePayment Çağrısı (Internal)

Kullanıcı ödeme butonuna bastığında widget

  • POST /b2c/widget/preparePayment

çağrısını yapar ve

  • Kart bilgileri
  • Seçilen taksit (installmentToken)

Finrota’ya iletilir

Bu adım sonucunda
prepareToken oluşturulur

7 – onSuccess Event’i Tetiklenir (Frontend)

onSuccess(data) {

// ödeme hazır

}

Bu event

  • Ödemenin tamamlandığı anlamına gelmez
  • Sadece ödeme request’inin hazır olduğunu gösterir

8 – Merchant Backend’e İstek Atılır

Frontend, kendi backend’ine aşağıdaki bilgileri gönderir:

AlanAçıklama
prepareTokenÖdeme için oluşturulan token
amountİşlem tutarı
diğer metadatasipariş bilgisi vb.

9 – Payment Endpoint Çağrılır (Backend)

Merchant backend

  • POST /b2c/widget/payment
  • Authorization: Bearer {AccessToken}

çağrısını yapar

10 – Ödeme Sonucu

3D Secure Senaryosu

Response

{

"paymentType": "RedirectUrl",

"redirectTo": "3D\_URL"

}

Akış

  1. Frontend → kullanıcıyı redirect eder
  2. Banka → OTP doğrulaması
  3. Kullanıcı → returnUrl’e döner

3D’siz Senaryo

{

"paymentType": "DirectSale",

"success": true

}

→ Ödeme direkt tamamlanır

Ödeme direkt tamamlanır - 1 Ödeme direkt tamamlanır - 2