1. Ödeme Başlat
Bağlı APM sağlayıcılarıyla DirectPay tabanlı ödeme başlatmak için kullanabileceğiniz bir metottur.
Ödeme Başlat (Id)
POST
{{Base Adres}}/api/paywall/apm/pay
Servise gönderilmesi gereken (HEADERS) parametreler şu şekildedir :
apikeypublic
string
Evet
Üye işyeri panelinden temin etmiş olduğunuz Public Key.
apiclientpublic
string
Evet
Üye işyeri panelinden temin etmiş olduğunuz Public Client.
Servise gönderilmesi gereken (BODY) parametreler şu şekildedir :
ApmConnectionId
int
Evet (Koşullu)
APM listeleme servisiyle edinilen bağlantılara ait Id (kimlik) bilgisidir. Ödeme ekranınızı dinamik oluşturduğunuz senaryolarda bu parametreyle birlikte ilgili bağlantı üzerinden ödeme başlatabilirsiniz
SectorId
short?
Hayır
Ödemenin gerçekleştirileceği sektör bilgisi. Sağlayıcılarla paylaşılmaktadır Sektörler
MerchantUniqueCode
string
Evet
Ödeme için oluşturduğunuz tekil numara
Amount
decimal
Evet
Ödeme tutarı
Description
string
Evet
Ödeme'ye ait açıklama. Sağlayıcıya bağlı olarak bu açıklama ödeme ekranında görüntülenebilmektedir.
IsPreAuth
bool
Hayır
İlgili APM sağlayıcısının, ön provizyonlu işlem desteklemesi durumunda kullanılır
InstallmentCount
short
Hayır
İlgili APM sağlayıcısı, taksit desteği veriyorsa kullanılabilir
Payer
Payer
Evet
Ödeme'nin gerçekleştirileceği ödeyici bilgilerinin barındığı nesnedir. Bu nesne altındaki parametrelerin zorunlulukları sağlayıcının beklediği parametreye göre farklılık gösterebilmektedir. Örnek: CardNumber bekleyen bir sağlayıcı için Paywall API'si CardNumber parametresini zorunlu tutar
Products
List<Products>
Hayır
Gönderilmesi, raporlama ve takip anlamında yararlı olacaktır. Bu bilgiler gönderildiği durumda gönderilen ürünlerin toplam tutarı asıl işlem tutarıyla karşılaştırılır. Ancak gönderilmemesi durumunda bir karşılaştırma yapılmamaktadır
Provider:Parameters
Dynamic
Evet/Hayır
Sağlayıcının ödemenin gerçekleşmesi anında beklediği dinamik bilgiler olması durumunda bu parametrelerle ilgili bilgiler dışardan alınır ve sağlayıcılarla paylaşılır. Örnek mağaza kodu, mağaza kimliği gibi bilgileri sağlayıcının beklemesi durumunda bu bilgiler Paywall API'si tarafından kontrol edilir ve zorunlu tutulur.
Payer :
Fullname
string
Evet (Koşullu)
Ödeyici tam isim
CardNumber
string
Evet (Koşullu)
Ödeyici kart numarası (yemek kartı vb)
CardId
string
Evet (Koşullu)
Ödeyici kart kimlik numarası (kartın APM sağlayıcısında saklanması durumunda çalışır)
Phone
string
Evet (Koşullu)
Ödeyicinin telefon numarası
string
Evet (Koşullu)
Ödeyicinin e-posta adresi
UserIdentity
string
Evet (Koşullu)
Ödeyicinin sisteminizdeki kimlik bilgisi (TCKN/VKN)
ConsumerIdentity
string
Evet (Koşullu)
Ödeyicinin sisteminizdeki kimlik bilgisi (UserId)
Birthday
DateTime
Hayır
Ödeyicinin doğum günü bilgisi
CardAlias
string
Evet (Koşullu)
Ödeyiciye ait kart bilgisinin etiketi (Masterpass)
Servise gönderilecek örnek bir JSON dosyası şu şekildedir :
{
"ApmKey": "ApmProviderKey", // Apm Provider Static Key (ApmConnectionId boş ise)
"ApmConnectionId": 19, // Apm Connection Id (ApmKey boş ise)
"CurrencyId": 1,
"MerchantUniqueCode": "A1s2d3F4G5H6J7K8L9",
"Amount": 1,
"Description": "PW",
"IsPreAuth": false,
"InstallmentCount": 1,
"Payer": {
"Fullname": "",
"CardNumber": "",
"CardId": "",
"Phone": "",
"Email": "",
"UserIdentity": "",
"CardAlias": "",
"ConsumerIdentity": "",
"Birthday": null
},
"Products": [
{
"ProductId": "123",
"ProductName": "Name",
"ProductCategory": "Food",
"ProductDescription": "Description of Product",
"ProductAmount": 1
}
],
// MarketPlace tipindeki sağlayıcılar içindir,
// kullanılmaması durumunda null gönderilebilir
"Provider": {
// Dynamic
"Parameters": {
"MerchantCode": "**********",
"TerminalCode": "**********"
}
}
}
Servisten dönen parametreler şu şekildedir:
ErrorCode
int
Hata kodu. İşlem başarılı ise '0' değerini döner.
Result
bool
True ya da false değeri döner. İşlem başarılı iste 'true' değerini döner.
Message
string
İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.
Body
nesne
İşlem hatalıysa, bu hataya dair detay nesne
{
"ErrorCode": 0,
"Result": true,
"Message": "",
"Body": {
"ApmKey": "FoodCardProvider",
"ApmConnectionId": 21,
"ApmTransactionId": 4330,
"UniqueCode": "85a07d7e-adc4-4698-a4cb-e643bdd705b1",
"MerchantUniqueCode": "G5H6A4FKAJDLF3457394759834",
"Amount": 1.0,
"PendingOtpConfirm": true, // Eğer false ise OTP doğrulama gerekmez
"ProviderDummyResponse": {
"ErrorCode": 0,
"Body": {
"Success": true,
"Code": null,
"Message": null,
"Status": 0,
"OtpVerifyCounterInSeconds": 0,
"Id": 58612,
"ServiceId": 1000,
"BatchNo": 102,
"TransactionSequenceNumber": 35298,
"TransactionAmount": 100,
"TransactionApprovalCode": "000000004330",
"LoyaltyMessage": "",
"Hash": "fe556fe622f3a3aa2b484666b2d7887c54932a9f469f016c3d00b740ed36de95"
},
"HttpCode": 200
}
}
}
Last updated