Üye İş Yeri Servisleri

Kargo Sorgulama URL’i

Kargo bilgilerini sorgulama

Akifast uygulaması, kullanıcı adresini seçtikten sonra, o adrese gönderim yapacak kargo seçeneklerini sormak için üye iş yerine bir istek atar. İsteğin atılacağı URL bilgisi üye iş yeri tarafından ödeme oturumu oluşturulurken gönderilen query_shipping_option_url parametresiyle belirlenir. Akifast, aşağıda listenen parametrelerle üye iş yerinin verdiği query_shipping_option_url’e POST isteği atar.

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

order_id

string

Üye iş yeri tarafındaki sipariş numarası

session_token

string

Üye iş yerinin aldığı ödeme oturumu anahtarı

basket_id

string

Sepet kimlik numarası

shipping_address.name

string

Adres sahibinin adı

shipping_address.surname

string

Adres sahibinin soyadı

shipping_address.phone_number

string

Adres sahibinin telefon numarası

shipping_address.postal_code

string

Posta kodu

shipping_address.notes

string

Adres bilgisindeki not

shipping_address.company_name

string

Kurumsal bir adres ise şirket adı

shipping_address.address_title

string

Adres açıklaması

shipping_address.tax_no

string

Kurumsal bir adresse vergi numarası

shipping_address.tax_office

string

Kurumsal bir adresse vergi dairesi

shipping_address.is_default

boolean

Varsayılan adres belirteci

shipping_address.line

string

Adres bilgisi.

shipping_address.address_type

string

Adres tipi (CUSTOMER, RETAIL_STORE)

shipping_address.country.name

string

Ülke adı

shipping_address.country.code

string

Ülke kodu

shipping_address.city.name

string

Şehir adı

shipping_address.city.code

string

Şehir kodu

shipping_address.town.name

string

İlçe adı

shipping_address.town.code

string

İlçe kodu

shipping_address.district.name

string

İlçe Adı

shipping_address.status

string

Adresin durumu

shipping_address.hash_data

string

Adresin tekil hash kodu

billing_address.name

string

Adres sahibinin adı

billing_address.surname

string

Adres sahibinin soyadı

billing_address.phone_number

string

Adres sahibinin telefon numarası

billing_address.postal_code

string

Posta kodu

billing_address.notes

string

Adres bilgisindeki not

billing_address.company_name

string

Kurumsal bir adres ise şirket adı

billing_address.address_title

string

Adres açıklaması

billing_address.tax_no

string

Kurumsal bir adresse vergi numarası

billing_address.tax_office

string

Kurumsal bir adresse vergi dairesi

billing_address.is_default

boolean

Varsayılan adres belirteci

billing_address.line

string

Adres bilgisi.

billing_address.address_type

string

Adres tipi (CUSTOMER, RETAIL_STORE)

billing_address.country.name

string

Ülke adı

billing_address.country.code

string

Ülke kodu

billing_address.city.name

string

Şehir adı

billing_address.city.code

string

Şehir kodu

billing_address.town.name

string

İlçe adı

billing_address.town.code

string

İlçe kodu

billing_address.district.name

string

İlçe Adı

billing_address.status

string

Adresin durumu

billing_address.hash_data

string

Adresin tekil hash kodu

conversation_id

string

Özel iletişim kimlik numarası

Beklenen Dönüş Değerleri ve Açıklamaları

Dönüş Değeri

Tip

Açıklama

count

string

kargo seçeneklerinin sayısı.

shipping_options[0].description

string

kargo seçeneğinin açıklaması.

shipping_options[0].logo_url

string

kargo firmasına ait resmin url.

shipping_options[0].name

string

kargo firmasına ait isim.

shipping_options[0].key

string

kargo firmasının akinon keyi.

shipping_options[0].shipping_amount

bigdecimal

kargo tutarı.

Örnek İstek:

{
  "session_token":"e7d624f0-c842-4826-a344-8c05cc6d6114",
  "transaction_token":"JGmhG9bOro82/84JdjAWNflDH2dynHsckkrpRRO9pc73NLwSSe5+dzHa9JxdpIBKnWtAEfGhaYpFGrEoBQJlyg==",
  "shipping_address":{
      "name":"John",
      "surname":"Doe",
      "phone_number":"905557778899",
      "postal_code":"",
      "notes":null,
      "company_name":"",
      "address_title":"Geçerli Adres",
      "tax_no":"",
      "tax_office":"",
      "is_default":true,
      "line":"Veliefendi Sok. Nalcılar apt. No:21 D:5",
      "address_type":"CUSTOMER",
      "country":{
        "name":"Türkiye",
        "code":"TR"
      },
      "city":{
        "name":"İSTANBUL",
        "code":"ISTANBUL"
      },
      "town":{
        "name":"ZEYTİNBURNU",
        "code":"ISTANBUL_ZEYTINBURNU"
      },
      "district":{
        "name":"SÜMER MAH",
        "code":"91769948"
      },
      "status":"ACTIVE",
      "hash_data":"A84A1D591AF1CF028091547F125A9EA4FCAADFBE502B6760B8A35363F1F6D2CE"
  },
  "billing_address":{
      "name":"John",
      "surname":"Doe",
      "phone_number":"905557778899",
      "postal_code":"",
      "notes":null,
      "company_name":"",
      "address_title":"Geçerli Adres",
      "tax_no":"",
      "tax_office":"",
      "is_default":true,
      "line":"Veliefendi Sok. Nalcılar apt. No:21 D:5",
      "address_type":"CUSTOMER",
      "country":{
        "name":"Türkiye",
        "code":"TR"
      },
      "city":{
        "name":"İSTANBUL",
        "code":"ISTANBUL"
      },
      "town":{
        "name":"ZEYTİNBURNU",
        "code":"ISTANBUL_ZEYTINBURNU"
      },
      "district":{
        "name":"SÜMER MAH",
        "code":"91769948"
      },
      "status":"ACTIVE",
      "hash_data":"A84A1D591AF1CF028091547F125A9EA4FCAADFBE502B6760B8A35363F1F6D2CE"
  }
}

Örnek Cevap:

{
    "count": 2,
    "shipping_options": [
        {
            "description": "Hızlı Teslimat",
            "logo_url": "https://client-demo.sandbox.akifast.com/logos/hizliteslimat.png",
            "name": "Yurtiçi Kargo",
            "key": "12",
            "shipping_amount": 9.9
        },
        {
            "description": "Standart Teslimat",
            "logo_url": "https://client-demo.sandbox.akifast.com/logos/aras.png",
            "name": "Aras Kargo",
            "key": "13",
            "shipping_amount": 0
        }
    ]
}

Sözleşme Sorgulama URL’i

Sözleşme tiplerini sorgulama

Akifast uygulamasında ödeme oturumu oluşturulduktan sonra bu oturum oluşturulurken kullanılan veriler ve kullanıcının seçtiği adres vs. bilgileri aşağıdaki şekilde sözleşme sorgulamak için üye iş yerine gönderilir.

Akifast uygulaması ödeme oturumu oluştururken gönderilen query_agreement_types_url parametresi ile belirtilen adrese aşağıdaki parametreleri POST isteği olarak iletir.

Not

Eğer üye iş yerinden dönen cevap null ise Akifast uygulamasında 500 Internal Server Error hatası gönderiliyor!

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

basket_id

string

Ödeme oturumu oluşturulurken gönderilen sepet idsi.

conversation_id

string

Ödeme oturumu oluştururken üye iş yeri tarafından gönderilen bumerang değer.

order_id

string

Üye iş yeri tarafındaki sipariş numarası.

language

string

Kullanıcının seçtiği dil seçeneği.

Dönüş Değerleri ve Açıklamaları

Dönüş Değeri

Tip

Açıklama

agreements[0].code

string

sözleşmenin kodu.

agreements[0].text

string

sözleşmenin adı / açıklaması.

Örnek İstek:

{
    "order_id": "20220407134221",
    "language": "tr",
    "conversation_id": "kdLEMDASDPRI23445D",
    "basket_id": "B-202111191524"
 }

Örnek Cevap:

{
  "agreements":[
      {
        "code":"OBF",
        "text":"Ön Bilgilendirme Formu"
      },
      {
        "code":"MSS",
        "text":"Mesafeli Satış Sözleşmesi"
      }
  ]
}

Sözleşme sorgulama

Akifast uygulamasında ödeme oturumu oluşturulduktan sonra bu oturum oluşturulurken kullanılan veriler ve kullanıcının seçtiği adres vs. bilgileri aşağıdaki şekilde sözleşme sorgulamak için üye iş yerine gönderilir.

Akifast uygulaması ödeme oturumu oluştururken gönderilen query_agreements_url parametresi ile belirtilen adrese ?code= ile birlikte aşağıdaki parametreleri POST isteği olarak iletir.

Not

Eğer üye iş yerinden dönen cevap null ise Akifast uygulamasında 500 Internal Server Error hatası gönderiliyor!

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

order_id

string

Üye iş yeri tarafındaki sipariş numarası

session_token

string

Üye iş yerinin aldığı ödeme oturumu anahtarı

shipping_address

Address Objesi

Kullanıcının seçtiği kargo adresi

billing_address

Address Objesi

Kullanıcının seçtiği fatura adresi

user

akipay_user objesi

İşlem sahibi kullanıcının bilgileri

shipping_option_key

string

Kullanıcın seçtiği kargo seçeneği

language

string

Kullanıcının seçtiği dil seçeneği

conversation_id

string

Ödeme oturumu oluştururken üye iş yeri tarafından gönderilen bumerang değer

basket_id

string

Ödeme oturumu oluşturulurken gönderilen sepet idsi

Dönüş Değerleri ve Açıklamaları

Dönüş Değeri

Tip

Açıklama

agreements[0].code

string

sözleşmenin kodu.

agreements[0].text

string

sözleşmenin adı / açıklaması

agreements[0].agreement_body

string

sözleşmenin html metni

Örnek İstek:

{
    "order_id": "20220407134221",
    "session_token": "c8aac38d-ed78-471c-83e3-83a9d00586e7",
    "shipping_address": {
        "name": "Utku",
        "surname": "YILDIZ",
        "phone_number": "905369513702",
        "postal_code": "123",
        "notes": null,
        "company_name": null,
        "address_title": "Mük Adres",
        "tax_no": null,
        "tax_office": null,
        "is_default": true,
        "line": "Falanca sokak filanca bina şurada bir yer.",
        "address_type": "CUSTOMER",
        "country": {
            "name": "Türkiye",
            "code": "TR"
        },
        "city": {
            "name": "AYDIN",
            "code": "AYDIN"
        },
        "town": {
            "name": "SÖKE",
            "code": "AYDIN_SOKE"
        },
        "district": {
            "name": "KONAK MAH",
            "code": "1309246"
        },
        "status": "ACTIVE",
        "hash_data": "33225F04656FCB8933BC5DD9939C9F256E8838F63C67AFDA06DA240E03EC9DFC"
    },
    "billing_address": {
        "name": "Utku",
        "surname": "YILDIZ",
        "phone_number": "905369513702",
        "postal_code": "123",
        "notes": null,
        "company_name": null,
        "address_title": "Mük Adres",
        "tax_no": null,
        "tax_office": null,
        "is_default": true,
        "line": "Falanca sokak filanca bina şurada bir yer.",
        "address_type": "CUSTOMER",
        "country": {
            "name": "Türkiye",
            "code": "TR"
        },
        "city": {
            "name": "AYDIN",
            "code": "AYDIN"
        },
        "town": {
            "name": "SÖKE",
            "code": "AYDIN_SOKE"
        },
        "district": {
            "name": "KONAK MAH",
            "code": "1309246"
        },
        "status": "ACTIVE",
        "hash_data": "33225F04656FCB8933BC5DD9939C9F256E8838F63C67AFDA06DA240E03EC9DFC"
    },
    "user": {
        "name": "Utku",
        "surname": "YILDIZ",
        "gender": null,
        "email": "utku.yildiz2@akinon.com",
        "birth_date": null,
        "identity_number": null,
        "phone_number": "+905369513702",
        "phone": {
            "country_phone_code": "+90",
            "national_phone_number": "5369513702"
        },
        "akinon_user_id": "0FA16FF875464259A56FE7FDA305C7D7",
        "status": "ACTIVE",
        "verification_date": "2022-03-29T14:06:13.88+00:00",
        "email_verified": false
    },
    "shipping_option_key": "13",
    "language": "tr",
    "conversation_id": "kdLEMDASDPRI23445D",
    "basket_id": "B-202111191524"
}

Örnek Cevap:

{
    "code":"OBF",
    "text":"Ön Bilgilendirme Formu",
    "agreement_body":"<html><body><p>Örnek Sözleşme Metni</p></body></html>"
}

Sözleşmeleri sorgulama

Akifast uygulamasında ödeme oturumu oluşturulduktan sonra bu oturum oluşturulurken kullanılan veriler ve kullanıcının seçtiği adres vs. bilgileri aşağıdaki şekilde sözleşme sorgulamak için üye iş yerine gönderilir.

Akifast uygulaması ödeme oturumu oluştururken gönderilen query_agreements_url parametresi ile belirtilen adrese aşağıdaki parametreleri POST isteği olarak iletir.

Not

Eğer üye iş yerinden dönen cevap null ise Akifast uygulamasında 500 Internal Server Error hatası gönderiliyor!

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

order_id

string

Üye iş yeri tarafındaki sipariş numarası

session_token

string

Üye iş yerinin aldığı ödeme oturumu anahtarı

shipping_address

Address Objesi

Kullanıcının seçtiği kargo adresi

billing_address

Address Objesi

Kullanıcının seçtiği fatura adresi

user

akipay_user objesi

İşlem sahibi kullanıcının bilgileri

shipping_option_key

string

Kullanıcın seçtiği kargo seçeneği

language

string

Kullanıcının seçtiği dil seçeneği

conversation_id

string

Ödeme oturumu oluştururken üye iş yeri tarafından gönderilen bumerang değer

basket_id

string

Ödeme oturumu oluşturulurken gönderilen sepet idsi

Dönüş Değerleri ve Açıklamaları

Dönüş Değeri

Tip

Açıklama

agreements[0].code

string

sözleşmenin kodu.

agreements[0].text

string

sözleşmenin adı / açıklaması

agreements[0].agreement_body

string

sözleşmenin html metni

Örnek İstek:

{
    "order_id": "20220407134221",
    "session_token": "c8aac38d-ed78-471c-83e3-83a9d00586e7",
    "shipping_address": {
        "name": "Utku",
        "surname": "YILDIZ",
        "phone_number": "905369513702",
        "postal_code": "123",
        "notes": null,
        "company_name": null,
        "address_title": "Mük Adres",
        "tax_no": null,
        "tax_office": null,
        "is_default": true,
        "line": "Falanca sokak filanca bina şurada bir yer.",
        "address_type": "CUSTOMER",
        "country": {
            "name": "Türkiye",
            "code": "TR"
        },
        "city": {
            "name": "AYDIN",
            "code": "AYDIN"
        },
        "town": {
            "name": "SÖKE",
            "code": "AYDIN_SOKE"
        },
        "district": {
            "name": "KONAK MAH",
            "code": "1309246"
        },
        "status": "ACTIVE",
        "hash_data": "33225F04656FCB8933BC5DD9939C9F256E8838F63C67AFDA06DA240E03EC9DFC"
    },
    "billing_address": {
        "name": "Utku",
        "surname": "YILDIZ",
        "phone_number": "905369513702",
        "postal_code": "123",
        "notes": null,
        "company_name": null,
        "address_title": "Mük Adres",
        "tax_no": null,
        "tax_office": null,
        "is_default": true,
        "line": "Falanca sokak filanca bina şurada bir yer.",
        "address_type": "CUSTOMER",
        "country": {
            "name": "Türkiye",
            "code": "TR"
        },
        "city": {
            "name": "AYDIN",
            "code": "AYDIN"
        },
        "town": {
            "name": "SÖKE",
            "code": "AYDIN_SOKE"
        },
        "district": {
            "name": "KONAK MAH",
            "code": "1309246"
        },
        "status": "ACTIVE",
        "hash_data": "33225F04656FCB8933BC5DD9939C9F256E8838F63C67AFDA06DA240E03EC9DFC"
    },
    "user": {
        "name": "Utku",
        "surname": "YILDIZ",
        "gender": null,
        "email": "utku.yildiz2@akinon.com",
        "birth_date": null,
        "identity_number": null,
        "phone_number": "+905369513702",
        "phone": {
            "country_phone_code": "+90",
            "national_phone_number": "5369513702"
        },
        "akinon_user_id": "0FA16FF875464259A56FE7FDA305C7D7",
        "status": "ACTIVE",
        "verification_date": "2022-03-29T14:06:13.88+00:00",
        "email_verified": false
    },
    "shipping_option_key": "13",
    "language": "tr",
    "conversation_id": "kdLEMDASDPRI23445D",
    "basket_id": "B-202111191524"
}

Örnek Cevap:

{
  "agreements":[
      {
        "code":"OBF",
        "text":"Ön Bilgilendirme Formu",
        "agreement_body":"<html><body><p>Örnek Sözleşme Metni</p></body></html>"
      },
      {
        "code":"MSS",
        "text":"Mesafeli Satış Sözleşmesi",
        "agreement_body":"<html><body><p>Örnek Sözleşme Metni</p></body></html>"
      }
  ]
}

Başarılı İşlem Sonucunun İletileceği URL (Notification)

Üye iş yerini bilgilendirme

Ödeme işlemi başarılı bir şekilde sonladığında üye iş yerine ödemenin içeriği ile ilgili bilgi geçilir. Ödeme oturumu oluşturma sırasında nereye bilginin gönderileceği notification_url de belirtilir. Aynı zamanda sistem belli zaman dilimlerinde bilgilendirme işlemi başarılı sonuç alana kadar istek göndermeye devam eder.

Önemli

  • Bilgilendirme işlemi senkron olarak gerçekleşir.

  • Üye iş yerinin sağladığı servisten cevap alınamazsa ilgili ödeme işlemi karantine statüsüne düşer.

  • Karantine statüsünde olan bu işlemlerin bildirimleri 10. denemede de yapılamazsa, sistem tarafından ilgili işlemin iptal/iadesi otomatik olarak gerçekleştirilir.

  • Ödemeyi başarıyla tamamlayan kullanıcının tarayıcısı, return_url alanında dönen URL’e yönlendirilir.

İsteğin gönderileceği URL ve metodu

Metot

URL

Açıklama

POST

{notification_url}

Ödeme oturumu sırasında oluşturulan notification_url istekte bulunulur.

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

order_id

string

akinon da kayıtlı olan sipariş numarası.

is_successful

boolean

işlemin başarılı olduğunun bilgisini verir.

merchant_id

string

üye iş yerine ait akinon kimlik numarası.

akifast_user_id

string

Akifast kullanıcısının Akinon kimlik numarası.

transaction

obje

ödeme işlemi sırasında oluşturulan ödeme ye ait bilgilerin tutulduğu obje.

transaction.transaction_date

string

başarılı ödeme işleminin tutulduğu kayıtın tarihi.

transaction.is_preauth

boolean

başarılı ödeme işleminin ön otorizasyon bilgisi.

transaction.is_threed

boolean

başarılı ödeme işleminin 3D ödeme bilgisi.

transaction.currency

currency

ödeme para birimi.

transaction.order_amount

bigdecimal

siparişin tutarı.

transaction.total_paid_amount

bigdecimal

toplam ödenen tutar.

transaction.installment_count

long

taksit sayısı.

transaction.installment_amount

bigdecimal

taksit tutarı.

transaction.interest_rate

bigdecimal

faiz oranı.

transaction.interest_amount

bigdecimal

faiz tutarı.

transaction.shipping_amount

bigdecimal

siparişin kargo tutarı.

transaction.shipping_option_key

string

kargo seçeneğinin akinonda ki key karşılığı.

transaction.akipay_transaction_id

string

başarılı ödeme işleminin akinon kimliği.

transaction.payment_system_raw_response

string

ödeme sisteminden dönen ham cevap.

payment_info

object

başarılı ödeme işleminin geçtiği sistem bilgileri.

payment_info.payment_system_name

string

ödeme işleminin geçtiği sistemin ismi.

payment_info.payment_system_code

string

ödeme işleminin geçtiği sistemin kodu.

payment_info.payment_system_bank

string

ödeme işleminin geçtiği banka ismi.

payment_info.payment_system_eftcode

string

ödeme işleminin geçtiği bankanın eft kodu.

payment_info.pg_transaction_id

string

ödeme sistemindeki bilgilerin tutulduğu benzersiz kimlik numarası.

payment_info.pg_reference_id

string

ödeme sisteminin referans numarası.

payment_info.pg_auth_code

string

ödeme sisteminin authentication kodu.

payment_info.pg_settlement_number

string

ödeme sistemi gün sonu numarası.

payment_info.pg_order_id

string

pos sipariş numarası.

payment_info.pg_group_id

string

pos grup numarası.

payment_info.pg_proc_return_code

string

pos işlem dönüş kodu.

payment_info.pg_merchant_id

string

pos üye iş yeri idsi.

payment_info.pg_terminal_id

string

pos terminal idsi.

payment_info.pg_transaction_date

string

pos işlem tarihi.

payment_info.pg_system_error_message

string

pos sistem hata mesajı.

card_info[0].masked_card_number

string

başarılı ödeme işleminin geçildiği kartın maskeli numarası.

card_info[0].masked_card_holder_name

string

başarılı ödeme işleminin geçildiği kartın üzrindeki maskeli isim.

card_info[0].bin

string

başarılı ödeme işleminin geçildiği kartın bin numarası.

card_info[0].card_type

enum

başarılı ödeme işleminin geçildiği kartın tipi CardType .

card_info[0].card_brand

enum

başarılı ödeme işleminin geçildiği kartın markası CardBrand .

card_info[0].card_network

string

başarılı ödeme işleminin geçildiği kartın bağlı olduğu sistem.

card_info[0].issuer

string

ödeme işleminde kullanılan kartın bankası.

card_info[0].is_commercial

boolean

ödeme işleminde kullanılan kartın ticari bilgisi.

card_info[0].saved_card

boolean

ödeme işleminde kullanılan kartıl kaytılı kart bilgisi.

shipping_address

object

kargo adresi (Obje detayları kargo sorgulamadaki ile aynıdır.)

billing_address

object

fatura adresi (Obje detayları kargo sorgulamadaki ile aynıdır.)

akifast_user

object

akinon kullanıcısın’a ait bilgilerin dönüldüğü obje.

akifast_user.name

string

Akifast kullanıcısının ismi.

akifast_user.surname

string

Akifast kullanıcısının soyismi.

akifast_user.gender

string

Akifast kullanıcısının cinsiyeti.

akifast_user.email

string

Akifast kullanıcısının e-posta adresi

akifast_user.birth_date

date

Akifast kullanıcısının doğum tarihi.

akifast_user.identity_number

string

Akifast kullanıcısının kimlik numarası.

akifast_user.phone_number

string

Akifast kullanıcısının telefon numarası(ülke kodu + telefon numarası).

akifast_user.phone.country_phone_code

string

Akifast kullanıcısının telefon numarasının ülke kodu Örn: +90.

akifast_user.phone.national_phone_number

string

Akifast kullanıcısının telefon numarası Örn: 5554447788.

akifast_user.akinon_user_id

string

Akifast kullanıcısının Akinon kimlik numarası.

akifast_user.status

enum

Akifast kullanıcısının statüsü değerlerini içerebilir. UserStatus.

akifast_user.verification_date

date

Akifast kullanıcısının Akinon hesabını doğrulama tarihi.

akifast_user.email_verified

boolean

Akifast kullanıcısının emailinin doğrulandığının bilgisi.

agreements

boolean

sözleşme onay bilgisi.

merchant_customer_id

string

üye iş yerine ait kullanıcı kimlik numarası.

merchant_customer_phone_number

string

üye iş yerine ait kullanıcı telefon numarası.

merchant_customer_email

string

üye iş yerine ait kullanıcı email adresi.

basket_id

string

sepet kimlik numarası.

conversation_id

string

özel iletişim kimlik numarası.

Dönüş Değerleri ve Açıklamaları

Dönüş Değeri

Tip

Açıklama

status

string

notification status ünü belirtir.

return_url

string

üye iş yerinden dönen url.

Ödeme Sistemi Parametreleri Mapping

Mapping Tablosu

Akifast

NestPay

Garanti

YKB

QNB Finansbank

pg_transaction_id

TransId

Transaction.RetrefNum

hostlogkey

TransId

pg_reference_id

HostRefNum

Transaction.RetrefNum

hostlogkey

HostRefNum

pg_auth_code

AuthCode

Transaction.AuthCode

authCode

AuthCode

pg_settlement_number

Extra.SETTLEID

Transaction.RetrefNum

pg_order_id

OrderId

Order.OrderID

sale.orderID

sale.orderID

pg_error_code

Extra.ERRORCODE

Transaction.Response.ReasonCode

respCode

ProcReturnCode

pg_error_message

ErrMsg

Transaction.Response.ErrorMsg

respText

ErrMsg

Ödeme Oturumu Niyet Bildirimi URL’i

Ödeme Oturumu Niyet Bildirimi

  • Ödeme oturumu esnasında bu url oluşturulur ve ödeme işlemi başlamadan önce bilgi almak için payment_intent_url servisine istek gönderilir.

  • Bu parametre zorunlu değildir ve gönderilmezse akış normal devam eder.

  • Url için bir request hazırlanır(PaymentIntentRequest) ve bu request POST metodu ile payment_intent_url adresine gönderilir.

  • Dönen cevaptan 2** harici bir cevap alındığında kullanıcıya hata mesajı gösterilir ve işlem sonlandırılır.

  • Ödeme oturumunun durumu PAYMENT_INTENT_FAILURE olarak güncellenir ve oturum sonlanır.

İsteğin gönderileceği URL ve metodu

Metot

URL

Açıklama

POST

{payment_intent_url}

Ödeme oturumu niyet bildirimi için kullanılır.

İstek Parametreleri ve Açıklamaları

Parametre

Tip

Açıklama

order_id

string

Sipariş numarası

merchant_id

string

Üye iş yeri numarası

akifast_user_id

string

Akifast kullanıcı numarası

agreements

boolean

Sözleşmelerin kabul edilip edilmediği

merchant_customer_id

string

Üye iş yeri müşteri numarası

merchant_customer_phone_number

string

Üye iş yeri müşteri telefon numarası

merchant_customer_email

string

Üye iş yeri müşteri email adresi

basket_id

string

Sepet numarası

conversation_id

string

Üye iş yeri tarafından gönderilecek iletişim numarası, bumerang değer

transaction

object

İşlem bilgileri

akifast_user

object

Akifast kullanıcı bilgileri

shipping_address

object

Kargo adresi bilgileri

billing_address

object

Fatura adresi bilgileri

basket

object

Sepet bilgileri

Örnek İstek:

{
   "order_id":"202403207812457",
   "merchant_id":"9d36ec04-de2f-11ea-87d0-0242ac130003",
   "akifast_user_id":"EAF974A1D4CD420DA7B6317B6A89A2B4",
   "agreements":true,
   "merchant_customer_id":null,
   "merchant_customer_phone_number":null,
   "merchant_customer_email":null,
   "basket_id":"1676024164143",
   "conversation_id":null,
   "transaction":{
      "currency":"TRY",
      "order_amount":1.00,
      "shipping_amount":9.90,
      "shipping_option_key":"12"
   },
   "akifast_user":{
      "name":"G****",
      "surname":"A****",
      "gender":null,
      "email":"g****.a****@a****.com",
      "birth_date":null,
      "identity_number":null,
      "phone_number":"+905********",
      "phone":{
         "country_phone_code":"+90",
         "national_phone_number":"5************"
      },
      "akinon_user_id":"EAF974A1********************",
      "status":"ACTIVE",
      "verification_date":"2024-01-09T12:13:28.10+00:00",
      "email_verified":null
   },
   "shipping_address":{
      "name":"yeni adres test 2",
      "surname":"yeni adres test 2",
      "phone_number":"+902222222222",
      "postal_code":"",
      "notes":null,
      "company_name":null,
      "address_title":"yeni adres test 2",
      "tax_no":null,
      "tax_office":null,
      "is_default":true,
      "line":"yeni adres test 2",
      "address_type":"CUSTOMER",
      "country":{
         "name":"Türkiye",
         "code":"TR"
      },
      "city":{
         "name":"ARDAHAN",
         "code":"ARDAHAN"
      },
      "town":{
         "name":"DAMAL",
         "code":"ARDAHAN_DAMAL"
      },
      "district":{
         "name":"MUSTAFA KEMAL MAH",
         "code":"1****"
      },
      "status":"ACTIVE",
      "hash_data":"F6627D************************A48C",
      "phone":{
         "country_phone_code":"+90",
         "national_phone_number":"2222222222"
      }
   },
   "billing_address":{
      "name":"yeni adres test 2",
      "surname":"yeni adres test 2",
      "phone_number":"+902222222222",
      "postal_code":"",
      "notes":null,
      "company_name":null,
      "address_title":"yeni adres test 2",
      "tax_no":null,
      "tax_office":null,
      "is_default":true,
      "line":"yeni adres test 2",
      "address_type":"CUSTOMER",
      "country":{
         "name":"Türkiye",
         "code":"TR"
      },
      "city":{
         "name":"ARDAHAN",
         "code":"ARDAHAN"
      },
      "town":{
         "name":"DAMAL",
         "code":"ARDAHAN_DAMAL"
      },
      "district":{
         "name":"MUSTAFA KEMAL MAH",
         "code":"102****"
      },
      "status":"ACTIVE",
      "hash_data":"F6627D**********************4225DA48C",
      "phone":{
         "country_phone_code":"+90",
         "national_phone_number":"2222222222"
      }
   },
   "basket":{
      "basket_id":"167602****",
      "total_product_amount":1.00,
      "total_discount_amount":0.00,
      "total_amount":1.00,
      "currency":"TRY",
      "basket_items":[
         {
            "sku":"213f55b1-87cb-4cf2-a3a6-****",
            "base_code":"IPHONE-001",
            "basket_item_id":"1676024164143-3",
            "unit_price":1.00,
            "quantity":1,
            "price":1.00,
            "name":"Iphone 13 128 GB Red",
            "image_url":"https://cdn.dsmcdn.com/ty184/product/media/images/20210928/9/136956048/250485278/1/1_org_zoom.jpg",
            "is_reviewable":false
         },
         {
            "sku":"213f55b1-87cb-4cf2-a3a6-43aa37f0cccd",
            "base_code":"IPHONE-001",
            "basket_item_id":"1676024164143-4",
            "unit_price":0.00,
            "quantity":1,
            "price":0.00,
            "name":"İkincisi Bedava!",
            "image_url":"https://cdn.dsmcdn.com/ty184/product/media/images/20210928/9/136956048/250485278/1/1_org_zoom.jpg",
            "is_reviewable":false
         }
      ],
      "discounts":[
         {
            "description":null,
            "amount":0.00
         }
      ]
   }
}

Önemli

  • Loglar takip edilmek istenirse; MERCHANT_PAYMENT_INTENT ilgili loga bakılabilir.

Başarılı İşlem Sonucu Kullanıcının Yönlendirileceği URL

Başarılı işlem sonucu kullanıcı, varsa üye iş yerinin işlem bildirim cevabında yer alan return_url adresine, yoksa ödeme oturumunda yer alan success_url adresine yönlendirilir.

Önemli

  • Burada dikkat edilmesi gereken küçük bir husus bulunmaktadır. Eğer işleminizi pop-up ile başladı ise pop-up window un kapatılması gereklidir. success_url deki view da aşağıda eklenen JavaScript code bloğu ile body onload sırasında pop-up ı rahatça kapatabilir ve işlemlerinize parent window dan devam edebilirsiniz.

if (window.parent.name === "hpp-popup") {
  window.opener.location.href = "/anyUrl";
  window.close();
}

Vazgeçen Kullanıcının Yönlendirileceği URL

Ödeme işleminden vazgeçen kullanıcı, ödeme oturumunda yer alan cancel_url adresine yönlendirilir.