4. 3D Ödeme
PayWall 3D ödeme servisine istek gönderdiğinizde, ilgili isteğin cevabında istek başarılıysa PayWall ödeme agent linki dönülmektedir. Bu linki uygulamanızda açmalısınız. Link 3D ekranına yönlendirir
POST {{Base Adres}}/api/paywall/payment/start3d
Servise gönderilecek örnek JSON ve örnek kodlar aşağıdaki gibidir.
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.
Paywall İstek Payload
{
"PaymentDetail": {
"Amount": 1.00,
"MerchantUniqueCode": "22123222256226225",
"TrackingCode": "TrackingCode1",
"Half3D": false,
"MerchantSuccessBackUrl": "https://domain.com/callback",
"MerchantFailBackUrl": "https://domain.com/callback",
"ClientIP": "0.0.0.0",
"CurrencyId": 1,
"Installment": 1,
"ChannelId": 0,
"TagId": 0,
"PayWatch": null,
"PayWatchMultipleSupport": false,
"PayWatchMultiple": null,
"EndOfTheDay": 1,
"RegionId": 1,
"ProviderBased": false,
"ProviderKey": "providerkey",
"PosBased": false,
"PosId": 0,
"MarketPlace": {
"BasketAmount": 1.00
},
"PayRouteByPass": false,
"PayRouteType": 0,
"RouteGroupKey": "route-003"
},
"Card":{
"OwnerName":"Iyzico Kartı",
"Number":"5528790000000008",
"ExpireMonth":"12",
"ExpireYear":"2030",
"Cvv":"123",
"ForceCvv": false, // Sadece kayıtlı kartlar için
"UniqueCode":"",
"TempCardToken": "",
"Partner": { // Nullable
"PartnerBased": false,
"PartnerIdentity": ""
},
"CardSave": {
"Nickname": "Kredi kartım",
"RelationalId1": "userid19283746",
"RelationalId2": "",
"RelationalId3": "",
"Save": true
}
},
"Customer":{
"FullName":"FullName",
"Phone":"5336662211",
"Email":"[email protected]",
"Country":"Country",
"City":"City",
"Address":"Address",
"IdentityNumber":"IdentityNumber",
"TaxNumber":"TaxNumber"
},
"Products":[{
"ProductId": "ProductId",
"ProductName": "ProductName",
"ProductCategory": "ProductCategory",
"ProductDescription": "ProductDescription",
"ProductAmount": 1.0,
"MemberId": 0,
"MemberCustomCommission": false,
"MemberCommission": 0,
"MemberEarningCalculated": false,
"MemberEarning": 0
}]
}using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class Program
{
static readonly HttpClient client = new HttpClient();
public class PaymentDetail
{
public double Amount { get; set; }
public string MerchantUniqueCode { get; set; }
public int CurrencyId { get; set; }
public string MerchantSuccessBackUrl { get; set; }
public string MerchantFailBackUrl { get; set; }
public int Installment { get; set; }
public int ChannelId { get; set; }
public int TagId { get; set; }
public bool Half3D { get; set; }
}
public class Card
{
public string OwnerName { get; set; }
public string Number { get; set; }
public string ExpireMonth { get; set; }
public string ExpireYear { get; set; }
public string Cvv { get; set; }
public string UniqueCode { get; set; }
}
public class Customer
{
public string FullName { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string Address { get; set; }
public string IdentityNumber { get; set; }
public string TaxNumber { get; set; }
}
public class Product
{
public string ProductId { get; set; }
public string ProductName { get; set; }
public string ProductCategory { get; set; }
public string ProductDescription { get; set; }
public double ProductAmount { get; set; }
}
public class Root
{
public PaymentDetail PaymentDetail { get; set; }
public Card Card { get; set; }
public Customer Customer { get; set; }
public Product[] Products { get; set; }
}
public static async Task Main()
{
Root root = new Root
{
PaymentDetail = new PaymentDetail
{
Amount = 9.85,
MerchantUniqueCode = "AJSHFSAKFHASKHFA",
CurrencyId = 1,
MerchantSuccessBackUrl = "https://merchantsite.site.com/success",
MerchantFailBackUrl = "https://merchantsite.site.com/fail",
Installment = 1,
ChannelId = 0,
TagId = 0,
Half3D = false
},
Card = new Card
{
OwnerName = "John Doe",
Number = "5528790000000008",
ExpireMonth = "12",
ExpireYear = "2030",
Cvv = "123",
UniqueCode = ""
},
Customer = new Customer
{
FullName = "FullName",
Phone = "5336662211",
Email = "[email protected]",
Country = "Country",
City = "City",
Address = "Address",
IdentityNumber = "IdentityNumber",
TaxNumber = "TaxNumber"
},
Products = new Product[] {
new Product {
ProductId = "ProductId",
ProductName = "ProductName",
ProductCategory = "ProductCategory",
ProductDescription = "ProductDescription",
ProductAmount = 9.85
}
}
};
string json = JsonConvert.SerializeObject(root, Formatting.Indented);
var data = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("apikeypublic", "%%");
client.DefaultRequestHeaders.Add("apiclientpublic", "%%");
var url = "{{Base Adres}}/api/paywall/payment/start3d";
var response = await client.PostAsync(url, data);
string result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type PaymentDetail struct {
Amount float64 `json:"Amount"`
MerchantUniqueCode string `json:"MerchantUniqueCode"`
CurrencyId int `json:"CurrencyId"`
MerchantSuccessBackUrl string `json:"MerchantSuccessBackUrl"`
MerchantFailBackUrl string `json:"MerchantFailBackUrl"`
Installment int `json:"Installment"`
ChannelId int `json:"ChannelId"`
TagId int `json:"TagId"`
Half3D bool `json:"Half3D"`
}
type Card struct {
OwnerName string `json:"OwnerName"`
Number string `json:"Number"`
ExpireMonth string `json:"ExpireMonth"`
ExpireYear string `json:"ExpireYear"`
Cvv string `json:"Cvv"`
UniqueCode string `json:"UniqueCode"`
}
type Customer struct {
FullName string `json:"FullName"`
Phone string `json:"Phone"`
Email string `json:"Email"`
Country string `json:"Country"`
City string `json:"City"`
Address string `json:"Address"`
IdentityNumber string `json:"IdentityNumber"`
TaxNumber string `json:"TaxNumber"`
}
type Product struct {
ProductId string `json:"ProductId"`
ProductName string `json:"ProductName"`
ProductCategory string `json:"ProductCategory"`
ProductDescription string `json:"ProductDescription"`
ProductAmount float64 `json:"ProductAmount"`
}
type Data struct {
PaymentDetail PaymentDetail `json:"PaymentDetail"`
Card Card `json:"Card"`
Customer Customer `json:"Customer"`
Products []Product `json:"Products"`
}
type ResponseData struct {
ErrorCode int
Result bool
Message string
Body string
}
func main() {
data := Data{
PaymentDetail: PaymentDetail{
Amount: 9.85,
MerchantUniqueCode: "AJSHFSAKFHASKHFA",
CurrencyId: 1,
MerchantSuccessBackUrl: "https://merchantsite.site.com/success",
MerchantFailBackUrl: "https://merchantsite.site.com/fail",
Installement: 1,
ChannelId: 0,
TagId: 0,
Half3D: false,
},
Card: Card{
OwnerName: "John Doe",
Number: "5528790000000008",
ExpireMonth: "12",
ExpireYear: "2030",
Cvv: "123",
UniqueCode: "",
},
Customer: Customer{
FullName: "FullName",
Phone: "5336662211",
Email: "[email protected]",
Country: "Country",
City: "City",
Address: "Address",
IdentityNumber: "IdentityNumber",
TaxNumber: "TaxNumber",
},
Products: []Product{
{
ProductId: "ProductId",
ProductName: "ProductName",
ProductCategory: "ProductCategory",
ProductDescription: "ProductDescription",
ProductAmount: 9.85,
},
},
}
payloadBuf := new(bytes.Buffer)
json.NewEncoder(payloadBuf).Encode(data)
req, _ := http.NewRequest("POST", "{{Base Adres}}/api/paywall/payment/start3d", payloadBuf)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("apikeypublic", "%%")
req.Header.Set("apiclientpublic", "%%")
client := &http.Client{}
res, e := client.Do(req)
if e != nil {
panic(e)
}
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var responseData ResponseData
json.Unmarshal(body, &responseData)
fmt.Println("ErrorCode: ", responseData.ErrorCode)
fmt.Println("Result: ", responseData.Result)
fmt.Println("Message: ", responseData.Message)
fmt.Println("Body: ", responseData.Body)
}<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.0</version>
</dependency>
</dependencies>import okhttp3.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient();
ObjectMapper mapper = new ObjectMapper();
// Create JSON in a readable way
ObjectNode rootNode = mapper.createObjectNode();
rootNode.put("Amount", 9.85);
rootNode.put("MerchantUniqueCode", "AJSHFSAKFHASKHFA");
rootNode.put("CurrencyId", 1);
rootNode.put("MerchantSuccessBackUrl", "https://merchantsite.site.com/success");
rootNode.put("MerchantFailBackUrl", "https://merchantsite.site.com/fail");
rootNode.put("Installment", 1);
rootNode.put("ChannelId", 0);
rootNode.put("TagId", 0);
rootNode.put("Half3D", false);
// and so on for all fields
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, json);
Request request = new Request.Builder()
.url("{{Base Adres}}/api/paywall/payment/start3d")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("apikeypublic", "%%")
.addHeader("apiclientpublic", "%%")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}<?php
$url = '{{Base Adres}}/api/paywall/payment/start3d';
$data = array(
"PaymentDetail" => array(
"Amount" => 9.85,
"MerchantUniqueCode" => "AJSHFSAKFHASKHFA",
"CurrencyId" => 1,
"MerchantSuccessBackUrl" => "https://merchantsite.site.com/success",
"MerchantFailBackUrl" => "https://merchantsite.site.com/fail",
"Installment" => 1,
"ChannelId" => 0,
"TagId" => 0,
"Half3D" => false
),
"Card" => array(
"OwnerName" => "John Doe",
"Number" => "5528790000000008",
"ExpireMonth" => "12",
"ExpireYear" => "2030",
"Cvv" => "123",
"UniqueCode" => ""
),
"Customer" => array(
"FullName" => "FullName",
"Phone" => "5336662211",
"Email" => "[email protected]",
"Country" => "Country",
"City" => "City",
"Address" => "Address",
"IdentityNumber" => "IdentityNumber",
"TaxNumber" => "TaxNumber"
),
"Products" => array(
array(
"ProductId" => "ProductId",
"ProductName" => "ProductName",
"ProductCategory" => "ProductCategory",
"ProductDescription" => "ProductDescription",
"ProductAmount" => 9.85
)
)
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n" .
"apikeypublic: %PUBLICKEY%\r\n" .
"apiclientpublic: %PUBLICCLIENT%\r\n",
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
// Decode
$response = json_decode($result);
// ErrorCode-Result-Message
echo "ErrorCode: " . $response->ErrorCode . "\n";
echo "Result: " . ($response->Result ? "true" : "false") . "\n";
echo "Message: " . $response->Message . "\n";
// Decode Body
$body = json_decode($response->Body);
var_dump($result);
?>import requests
import json
url = '{{Base Adres}}/api/paywall/payment/start3d'
headers = {
'Content-Type': 'application/json',
'apikeypublic': '%%',
'apiclientpublic': '%%'
}
data = {
"PaymentDetail": {
"Amount": 9.85,
"MerchantUniqueCode": "AJSHFSAKFHASKHFA",
"CurrencyId": 1,
"MerchantSuccessBackUrl": "https://merchantsite.site.com/success",
"MerchantFailBackUrl": "https://merchantsite.site.com/fail",
"Installment": 1,
"ChannelId": 0,
"TagId": 0,
"Half3D": False
},
"Card": {
"OwnerName": "John Doe",
"Number": "5528790000000008",
"ExpireMonth": "12",
"ExpireYear": "2030",
"Cvv": "123",
"UniqueCode": ""
},
"Customer": {
"FullName": "FullName",
"Phone": "5336662211",
"Email": "[email protected]",
"Country": "Country",
"City": "City",
"Address": "Address",
"IdentityNumber": "IdentityNumber",
"TaxNumber": "TaxNumber"
},
"Products": [{
"ProductId": "ProductId",
"ProductName": "ProductName",
"ProductCategory": "ProductCategory",
"ProductDescription": "ProductDescription",
"ProductAmount": 9.85
}]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
print("ErrorCode: ", response_data.get('ErrorCode'))
print("Result: ", response_data.get('Result'))
print("Message: ", response_data.get('Message'))
body = json.loads(response_data.get('Body'))
print(body)
else:
print(f'Request failed with status code {response.status_code}')require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("{{Base Adres}}/api/paywall/payment/start3d")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path, {
'Content-Type' => 'application/json',
'apikeypublic' => '%%',
'apiclientpublic' => '%%'
})
request.body = JSON.generate({
"PaymentDetail" => {
"Amount" => 9.85,
"MerchantUniqueCode" => "AJSHFSAKFHASKHFA",
"CurrencyId" => 1,
"MerchantSuccessBackUrl" => "https://merchantsite.site.com/success",
"MerchantFailBackUrl" => "https://merchantsite.site.com/fail",
"Installment" => 1,
"ChannelId" => 0,
"TagId" => 0,
"Half3D" => false
},
"Card" => {
"OwnerName" => "John Doe",
"Number" => "5528790000000008",
"ExpireMonth" => "12",
"ExpireYear" => "2030",
"Cvv" => "123",
"UniqueCode" => ""
},
"Customer" => {
"FullName" => "FullName",
"Phone" => "5336662211",
"Email" => "[email protected]",
"Country" => "Country",
"City" => "City",
"Address" => "Address",
"IdentityNumber" => "IdentityNumber",
"TaxNumber" => "TaxNumber"
},
"Products" => [
{
"ProductId" => "ProductId",
"ProductName" => "ProductName",
"ProductCategory" => "ProductCategory",
"ProductDescription" => "ProductDescription",
"ProductAmount" => 9.85
}
]
})
response = http.request(request)
puts response.bodyimport axios, { AxiosResponse } from 'axios';
interface ResponseData {
ErrorCode: number;
Result: boolean;
Message: string;
Body: string;
}
let data = {
PaymentDetail: {
Amount: 9.85,
MerchantUniqueCode: "AJSHFSAKFHASKHFA",
CurrencyId: 1,
MerchantSuccessBackUrl: "https://merchantsite.site.com/success",
MerchantFailBackUrl: "https://merchantsite.site.com/fail",
Installment: 1,
ChannelId: 0,
TagId: 0,
Half3D: false
},
Card: {
OwnerName: "John Doe",
Number: "5528790000000008",
ExpireMonth: "12",
ExpireYear: "2030",
Cvv: "123",
UniqueCode: ""
},
Customer: {
FullName: "FullName",
Phone: "5336662211",
Email: "[email protected]",
Country: "Country",
City: "City",
Address: "Address",
IdentityNumber: "IdentityNumber",
TaxNumber: "TaxNumber"
},
Products: [{
ProductId: "ProductId",
ProductName: "ProductName",
ProductCategory: "ProductCategory",
ProductDescription: "ProductDescription",
ProductAmount: 9.85
}]
};
let config = {
method: 'post',
url: '{{Base Adres}}/api/paywall/payment/start3d',
headers: {
'Content-Type': 'application/json',
'apikeypublic': '%%',
'apiclientpublic': '%%'
},
data : data
};
axios(config)
.then(function (response: AxiosResponse<ResponseData>) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});curl --location --request POST '{{Base Adres}}/api/paywall/payment/start3d' \
--header 'Content-Type: application/json' \
--header 'apikeypublic: %%PUBLICKEY%%' \
--header 'apiclientpublic: %%PUBLICCLIENT%%' \
--data-raw '{
"PaymentDetail": {
"Amount": 9.85,
"MerchantUniqueCode": "FASLSZDPOT3535BFNGI",
"CurrencyId": 1,
"MerchantSuccessBackUrl": "https://merchantsite.site.com/success",
"MerchantFailBackUrl": "https://merchantsite.site.com/fail",
"Installment": 1,
"ChannelId": 0,
"TagId": 0,
"Half3D": false
},
"Card": {
"OwnerName": "John Doe",
"Number": "5528790000000008",
"ExpireMonth": "12",
"ExpireYear": "2030",
"Cvv": "123",
"UniqueCode": ""
},
"Customer": {
"FullName": "FullName",
"Phone": "5336662211",
"Email": "[email protected]",
"Country": "Country",
"City": "City",
"Address": "Address",
"IdentityNumber": "IdentityNumber",
"TaxNumber": "TaxNumber"
},
"Products": [{
"ProductId": "ProductId",
"ProductName": "ProductName",
"ProductCategory": "ProductCategory",
"ProductDescription": "ProductDescription",
"ProductAmount": 9.85
}]
}'Ana Dizin: PaymentDetail
PaymentDetailAmount
decimal
Evet
Ödeme sepet tutarı.
MerchantUniqueCode
string
Evet
Ödeme başlatma için gönderilen istek içerisindeki MerchantUniqueCode ile aynı değer olmalıdır. Bu kod sizin tarafınızdan işleme ait verilen tekil değerdir. İptal/İade/Ödeme Sorgulama işlemlerinin hepsinde bir ödemeyi tekilleştirmeniz ve takip etmeniz için kullanılmaktadır. Uzunluk: 250 karakter
TrackingCode
string
Hayır
Ödeme'nin tarafınızdaki ikincil takip numarası olarak kullanılabilir. MerchantUniqueCode parametresine ek ilişkilendirmeniz gereken ek bilgiyi bu parametre altında gönderebilirsiniz. Önemli not: Tekil değildir, tekrar tekrar verilebilir. İhtiyaç halinde tekilliği sizin tarafınızdan yönetilmelidir
MerchantSuccessBackUrl
string
Evet
Başarılı işlem için 3D ekranının FormPost ile yönlendirileceği adres Uzunluk: 250 karakter Bkz: İncele
MerchantFailBackUrl
string
Evet
Başarısız işlem için 3D ekranının FormPost ile yönlendirileceği adres Uzunluk: 250 karakter Bkz: İncele
Installment
int
Evet
Taksit bilgisi, tek çekim için 1 gönderilmelidir.
Half3D
bool
Hayır
Ödemelerinizi özel bir çağrı ile finansallaştırabilmeniz için size destek olacak parametredir. Half3D parametresini true göndermeniz durumunda ödeme bitirme çağrısını siz yapana kadar ödemeniz bankada provizyonda kalacaktır.
ClientIP
string
Evet
İşlemi gerçekleştiren tarafın IP bilgisi. Müşteri/Kullanıcı/Üye vb. Uzunluk: 15 karakter
TagId
int?
Hayır
Ödemelerinize etiketleme uygulamak istediğinizde kullanılır
ChannelId
int?
Hayır
Ödemelerinizin Paywall'a iletildiği kanalları ayrıştırmak istediğinizde kullanılır
EndOfTheDay
int?
Hayır
Gün sonu değeridir. Bağlı sağlayıcılar arasından ödemenizin sadece "Ertesi Gün" ödemeleri sağlayıcılardan geçmesini istediğinizde bu parametreyi dolu göndermelisiniz Bkz: İncele
RegionId
short?
Hayır
Ödemenizin hangi ülke altındaki sağlayıcılardan geçmesini istediğinizi belirtebileceğiniz parametredir. Belirtilmediği durumda ödemeniz 'Global' olarak işlenir
ProviderBased
bool
Hayır
Ödemenizin hangi sağlayıcıdan geçmesi gerektiğine kendi tarafınızda karar verdiğinizde kullanılır
PosBased
bool
Hayır
Ödemenizin hangi sağlayıcıdan geçmesi gerektiğine kendi tarafınızda karar verdiğinizde kullanılır
PosId
int
Evet/Hayır
Ödemenizin geçmesini istediğiniz sağlayıcının bağlantı kimlik numarasıdır. Paywall panelinden temin bağlı sağlayıcılar listesinde yer almaktadır
PayRouteByPass
bool
Hayır
Paywall panelinden ayarlanan PayRoute ayarlı bypass edilmek isteniyor mu? Bu parametreyle varsayılan ayarı ezebilir, ödeme özelinde routing tipini değiştirebilirsiniz
PayRouteType
short
Evet/Hayır
PayRouteByPass parametresinin true gönderilmesi durumda, PayRouteType parametresi de dolu gönderilmelidir. Ödeme özelinde routing tipinin ne olacağını bu parametreyle belirtebilirsiniz
Bkz: PayRoute Tipleri
RouteGroupKey
string
Evet/Hayır
Paywall panelinden PayRoute'un RouteGroup ayarlanması veya ödeme özelinde PayRoute'un bypass edilmesi ve PayRouteType'ın RouteGroup olarak belirtilmesi durumda ödemenin hangi RouteGroup özelinde işleneceğini bu parametreyle belirtmeniz gerekmektedir
MarketPlace > BasketAmount
decimal
Hayır
Pazaryeri kapsamında kullanılır
PayWatch > Watch
bool?
Hayır
Ödeme, PayWatch ile izlensin mi?
PayWatch > PaymentStatus[]
List<int>
Evet/Hayır
Ödeme, hangi durumlardaysa izlensin
PayWatch > WebhookAddress
string
Evet/Hayır
İzlenme aksiyonu Webhook olarak ayarlandığında, bildirim atılacak adres
PayWatch > WatchMin
short
Evet/Hayır
Ödeme kaç dakika sonra izlensin Min: 5 Max: 20
PayWatchMultipleSupport
bool
Hayır
Ödeme çoklu kurallı PayWatch ile izlensin mi?
PayWatchMultiple > Watch
bool
Evet/Hayır
Ödeme, PayWatch çoklu ile izlensin mi?
PayWatchMultiple > Jobs[] > PaymentStatus[]
List<int>
Evet/Hayır
Ödeme, hangi durumlardaysa izlensin
PayWatchMultiple > Jobs[] > WebhookAddress
string
Evet/Hayır
İzlenme aksiyonu Webhook olarak ayarlandığında, bildirim atılacak adres
PayWatchMultiple > Jobs[] > WatchMin
short
Evet/Hayır
Ödeme kaç dakika sonra izlensin Min: 2 Max: 20
Ana Dizin: Card
OwnerName
string
Evet/Hayır
Ödemenin alınacağı kart sahibinin adı soyadı. Uzunluk: 150 karakter
Number
string
Evet/Hayır
Ödemenin alınacağı kart numarası. Uzunluk: 20 karakter
ExpireMonth
string
Evet/Hayır
Ödemenin alınacağı kartın son kullanma tarihi ayı.
ExpireYear
string
Evet/Hayır
Ödemenin alınacağı kartın son kullanma tarihi yılı.
Cvv
string
Evet/Hayır
Ödemenin alınacağı kartın güvenlik kodu.
ForceCvv
bool
Hayır
Sadece kayıtlı kartlar için kullanılır. Bu parametreyle kayıtlı kartlar için de kullanıcılarınızdan CVV alabilir ve ödeme isteği içersinde gönderebilirsiniz.
Kayıtlı kartlarda bu parametreyi true göndermezseniz, Paywall UniqueCode parametresi hariç tüm parametreleri görmezden gelir
UniqueCode
string
Evet/Hayır
Kayıtlı karta ait kimlik bilgisi. Kaydetme ve listeleme anında Paywall'dan döner
TempCardToken
string
Evet/Hayır
Geçici kayıtlı kart (Client-Side Tokenization) ile ödeme almak istediğinizde kullanılması gereken parametredir
Partner? > PartnerBased
bool?
Evet/Hayır
Kartları Partner tabanlı kurguladığınızda kullanılacak parametredir
Partner? > PartnerIdentity
string
Evet/Hayır
Kartları Partner tabanlı kurguladığınızda, şirketinizin Paywall'daki partnerlik kimlik bilgisidir. Bu bilgiyi Paywall panelinden edinebilirsiniz
CardSave? > Save
bool
Evet/Hayır
Ödeme anında, ödemenin başarılı olması durumunda kartın kayıt edilmesi istenirse True gönderilmelidir. True gönderildiğinde CardSave objesi altındaki diğer parametreler dikkate alınır
CardSave? > Nickname
string
Evet/Hayır
Kart'a ait takma isimdir
CardSave? > RelationalId1
string
Evet/Hayır
Kart'ın ilişki değeridir
CardSave? > RelationalId2
string
Evet/Hayır
Kart'ın ikinci (ağaç yapısı) ilişki değeridir
CardSave? > RelationalId3
string
Evet/Hayır
Kart'ın üçüncü (ağaç yapısı) ilişki değeridir
Ana Dizin: Customer
FullName
string
Evet
Üye işyeri tarafındaki alıcıya ait ad
Phone
string
Evet
Üye işyeri tarafındaki alıcıya ait GSM numarası.
string
Evet
İşyeri tarafındaki alıcıya ait e-posta bilgisi.
Country
string
Evet
Üye işyeri tarafındaki alıcıya ait ülke bilgisi.
City
string
Evet
Üye işyeri tarafındaki alıcıya ait şehir bilgisi.
Address
string
Evet
Üye işyeri tarafındaki alıcıya ait kayıt adresi.
IdentityNumber
string
Hayır
Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.
TaxNumber
string
Hayır
Üye işyeri tarafındaki alıcıya ait vergi kimlik numarası.
Ana Dizin: Product<Array>
ProductId
string
Evet
Ürün Id.
ProductName
string
Evet
Ürün adı.
ProductCategory
string
Evet
Ürün kategorisi.
ProductDescription
string
Evet
Ürün açıklama
ProductAmount
decimal
Evet
Ürün fiyat bilgisi
DiscountValue
decimal
Hayır
Ürüne uygulanan indirim değer. Eğer Type 1 ve değer 10 ise 10(TL/USD/EURO) uygular ancak Type 2 ise %10 uygular
CargoCurrencyId
int
Hayır
Kargo maliyetinin para birimi
CargoCost
decimal
Hayır
Kargo maliyeti
MemberId
int?
Evet/Hayır
MarketPlace modeli için zorunludur. Alt üye işyerinin Paywall sistemindeki MemberId bilgisiyle doldurulmalıdır
MemberEarningCalculated
bool?
Evet/Hayır
Pazaryeri kapsamında, alt şirketin hak edişini siz hesapladıysanız bu parametreyi true göndermelisiniz
MemberEarning
decimal?
Evet/Hayır
Pazaryeri kapsamında, alt şirketin hak edişini siz hesapladıysanız bu parametreyi hak ediş değerini Paywall'a bildirmelisiniz
MemberCustomCommission
bool
Evet/Hayır
Pazaryeri kapsamında, alt şirkete bu satış özelinde komisyon belirtmek isterseniz kullanılan parametredir
MemberCommission
decimal?
Evet/Hayır
Pazaryeri kapsamında, alt şirkete bu satış özelinde komisyon belirtmek isterdiğinizde, komisyon değerinin gönderildiği parametredir
Paywall Cevap
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 belirtilen kodudur.
{
"ErrorCode": 0,
"Result": true,
"Message": "Success",
"Body": {
"Message": null,
"RedirectUrl": "https://dev-payment-agent.itspaywall.com/paywall/callback?UniqueNumber=xxxxxx-xxxxxxx-xxxxxxx-xxxxxx",
"Payment": {
"PaymentId": 1918272,
"ActivityId": 3820721,
"UniqueCode": "87e30149-817b-42cf-a8a8-81af2af5722b",
"MerchantUniqueKey": "96aaa33633aaaa3aaaaa3aa2aa2322a2aaaa4a21331a234aas33aaaa3aasa"
}
}
}Last updated