Ü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.
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ı |
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!
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ğ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!
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ğ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!
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ğ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.
Metot |
URL |
Açıklama |
---|---|---|
POST |
{notification_url} |
Ödeme oturumu sırasında oluşturulan |
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ğeri |
Tip |
Açıklama |
---|---|---|
status |
string |
notification status ünü belirtir. |
return_url |
string |
üye iş yerinden dönen url. |
Ödeme Sistemi Parametreleri Mapping
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 ilepayment_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.
Metot |
URL |
Açıklama |
---|---|---|
POST |
{payment_intent_url} |
Ödeme oturumu niyet bildirimi için kullanılır. |
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 ilebody 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.