AHL Pay Vpos Entegrasyonu
  • 🎉AHL Pay Entegrasyonu
  • 🔐Üye İş Yeri Doğrulama
  • 🏪Satıcı İşlemleri
    • Satıcıları Listele
    • Üye İşyeri Banka Sorgulama
    • Üye İşyeri Sanal Pos Banka Sorgulama
    • Üye İşyerine Bağlı Komisyon Sorgulama
    • Transaction Listesi
  • 💰Ödeme Servisleri
    • Payment 3d
    • Payment3DWithEventRedirect
    • Payment3dBySecure
    • Payment3dPay
    • Void
    • Refund
    • PreAuth
    • PostAuth
    • CreateLinkPayment
    • StartIFrame
    • StartIFrameResQueryString
    • Ödeme Bilgileri Sorgula
  • 🔍Sorgulama
    • Oluşturulmuş Linkleri Sorgula
    • Kampanya Sorgulama
    • Komisyon Sorgulama
    • Taksit Bilgileri Sorgula
    • BIN Sorgulama
    • BIN Listesi Sorgulama
    • İşyeri Komisyon Oranı Listesi
  • 📖Sistem Verileri
    • TxnType
    • İşlem Durumları
    • Para Birimleri
    • Kart Ailesi
    • Kart Tipleri
    • Ödeme Modelleri
  • 📚Hazır E-ticaret Modülleri
    • Woocommerce
    • Opencart
    • PrestaShop
    • Magento
  • 🔗Entegre Platformlar
  • 💳Test Kartları
  • 🚩Hata Kodları ve Açıklamaları
  • ❓Sıkça Sorulan Sorular
  • ⛑️Yardım
Powered by GitBook
On this page
  • Hash Hesaplama
  • URL
  • İstek
  • Cevap

Was this helpful?

  1. Ödeme Servisleri

Payment3dBySecure

Bu servis Payment 3d servisi ile aynı şekilde çalışmaktadır. Bu serviste payment3d den farklı olarak Hash algoritması zorunludur. Hash hesaplaması için aşağıdaki kodu kullanabilirsiniz.

Hash Hesaplama

public async Task<BaseResponse> HashCreate(HashDto dto)
    {
        //Kullanıcıdan alınan Hash değeri verildiği gibi olmalıdır. {hashPassword}{request.Rnd}{request.OrderId}{request.TotalAmount}{request.MerchantId}
        //HashPassword -> sms ile kullanıcıya iletilmektedir.
        var hashString = dto.Hash;
        SHA512 s512 = SHA512.Create();
        UnicodeEncoding ByteConverter = new UnicodeEncoding();
        byte[] bytes = s512.ComputeHash(ByteConverter.GetBytes(hashString));
        var hash = BitConverter.ToString(bytes).Replace("-", "");
        return new BaseResponse()
        {
            Data = hash
        };
    }

class HashDto
{
    public string Hash {get;set;}
}

URL

POST /api/Payment/Payment3dBySecure

Servise gönderilen parametreler şu şekildedir:

Parametre
Tip
Uzunluk
Zorunluluk
Açıklama

cardNumber

string

64

Evet

Kart numarası

expiryDateMonth

string

64

Evet

Kartın son kullanım tarihinin ayı

expiryDateYear

string

64

Evet

Kartın son kullanım tarihinin yılı

cvv

string

64

Evet

Kart güvenlik kodu

cardHolderName

string

64

Evet

Kart sahibinin adı/soyadı

merchantId

int

64

Evet

Üye işyeri numarası

totalAmount

string

64

Evet

Ödeme yapılacak tutar

memberId

int

64

Evet

Üye Id

userCode

string

64

Evet

Kullanıcı bilgisi

txnType

string

64

Evet

txnType

installmentCount

string

64

Evet

Taksit sayısı

currency

string

64

Evet

Ödemenin tahsil edileceği para birimi

orderId

string

64

Evet

Üye işyeri tarafındaki, ödemeye ilişkin sipariş numarasıdır. Sorgulama servislerinde bu id ile sorgulama yapabilirsiniz.

rnd

string

64

Evet

Hash hesaplamasında kullanılan random numaradır.

hash

string

2048

Evet

İşlemin güvenliği için oluşturulan hash bilgisidir.

webUrl

string

255

Evet

webUrl

description

string

255

Evet

Açıklama

requestIp

string

64

Evet

İstek Ip Adresi

okUrl

string

255

Evet

Başarılı olursa istek atılacak url (işlem success ise bu urle redirect olacaktır)

failUrl

string

255

Evet

Başarısız olursa istek atılacak url (işlem fail ise bu urle redirect olacaktır)

Servisten dönen parametreler şu şekildedir:

Parametre
Tip
Uzunluk
Açıklama

isSuccess

boolean

-

İşlem başarılı (true) ; işlem başarısız (false) bilgisi döner

message

string

255

isSuccess: true olması durumunda "İşlem başarılıdır." ; false olması durumunda alınan hata mesajı gelmektedir.

errorCode

string

5

isSuccess: true olması durumunda null ; false olması durumunda alınan hata codu gelmektedir.

requestId

string

64

Sistem tarafından isteğe ait unique ID bilgisidir.

data

array

-

Dizi olarak aşağıdaki parametreler dönmektedir

Örnek JSON formatında istek ve cevap aşağıdaki gibidir:

İstek

  
{
  "cardNumber": "5188961939192544",
  "expiryDateMonth": "06",
  "expiryDateYear": "2025",
  "cvv": "929",
  "cardHolderName": "Ahmed Arif",
  "merchantId": 97163,
  "totalAmount": "100",
  "memberId": 1,
  "userCode": "ahlatci@ahlpay.com.tr",
  "txnType": "Auth",
  "installmentCount": "0",
  "currency": "949",
  "orderId": "68dbb8cd-d1af-4b7b-bb73-78041db3af22",
  "rnd": "2023031321541332",
  "hash": "2023031321541332",
  "webUrl": "google.com",
  "description": "deneme",
  "requestIp": "string",
  "okUrl": "http://testahlsanalpos.ahlpay.com.tr/api/Event/AssecoThreeDSuccess",
  "failUrl": "http://testahlsanalpos.ahlpay.com.tr/api/Event/AssecoThreeDFail"
}
  

Cevap

Bankadan dönen html otp formu isteği başarılı olması durumunda okUrl'e; başarısız olması durumunda failUrl'e aşağıdaki istek gönderilmektedir.

{
    "orderId": "cd2120ba-9f3f-40b7-8113-d0b88aadea1e",
    "responseCode": "00",
    "rnd": "2023031321541332",
    "hostReferenceNumber": "hostid",
    "authCode": "12345",
    "cardNumber": "*****",
    "installmentCount": "0",
    "totalAmount": "1000",
    "amount": "1000",
    "responseHash": null,
    "responseMessage": "İşlem başarılıdır.",
    "vposId": "999",
    "extraData": null,
    "transId": null,
    "merchantId": "28831"
}
PreviousPayment3DWithEventRedirectNextPayment3dPay

Last updated 8 months ago

Was this helpful?

💰