Start receiving services from the institutions you have contracted with our wide payment integrations within seconds.
Grow your turnover by increasing the payment channels you offer to your customers in physical and virtual environments.
PayWatch ile tüm ödemelerinizi tek panelden anlık olarak izleyin, işlem geçmişinizi detaylı analiz edin ve finansal kontrolü elinizde tutun.
Mutabakat ile hesaplarınızı otomatik olarak karşılaştırın, alacak ve borç bakiyelerinizi güvenle teyit edin, finansal uyumu kolayca sağlayın.
Gelişmiş Yapılandırma ile üye bazlı valör tanımlayın, ödemeleri manuel tetikleyin, istediğiniz saatte para dağıtımı yapın ve masrafları etkin şekilde yönetin.
No matter your transaction volume, stand out with Paywall’s solutions for security, operations, and profitability.
Get paid instantly in 50+ currencies from 65+ countries. Expand your global reach with Paywall.
Analyse all payment processes of your business with advanced reports and develop strategies.
Every API is carefully designed to provide the best developer experience. Eliminate headaches and ship faster. Leave the complexity to us.
{
"PaymentDetail": {
"Amount": 1.00,
"MerchantUniqueCode": "22123222256226225",
"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",
"MarketPlace": {
"BasketAmount": 1.00
}
},
"Card":{
"OwnerName":"Test Kartım",
"Number":"5528790000000008",
"ExpireMonth":"12",
"ExpireYear":"2030",
"Cvv":"123",
"UniqueCode":"",
"CardSave": {
"Nickname": "Kredi kartım",
"RelationalId1": "userid19283746",
"RelationalId2": "",
"RelationalId3": "",
"Save": true
}
},
"Customer":{
"FullName":"FullName",
"Phone":"5336662211",
"Email":"enes@xcompany.com",
"Country":"Country",
"City":"City",
"Address":"Address",
"IdentityNumber":"IdentityNumber",
"TaxNumber":"TaxNumber"
},
"Products":[{
"ProductId": "ProductId",
"ProductName": "ProductName",
"ProductCategory": "ProductCategory",
"ProductDescription": "ProductDescription",
"ProductAmount": 1.0,
"MemberId": 0,
"DiscountOwnerType": 0,
"DiscountType": 0,
"DiscountValue": 0,
"CargoType": 0,
"CargoCurrencyId": 0,
"CargoCost": 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 Installement { 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",
Installement = 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 = "enes@xcompany.com",
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/startdirect";
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"`
Installement int `json:"Installement"`
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: "enes@xcompany.com",
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/startdirect", 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)
}
com.fasterxml.jackson.core
jackson-databind
2.12.5
com.squareup.okhttp3
okhttp
4.9.0
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("Installement", 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/startdirect")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("apikeypublic", "%%")
.addHeader("apiclientpublic", "%%")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
array(
"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" => array(
"OwnerName" => "John Doe",
"Number" => "5528790000000008",
"ExpireMonth" => "12",
"ExpireYear" => "2030",
"Cvv" => "123",
"UniqueCode" => ""
),
"Customer" => array(
"FullName" => "FullName",
"Phone" => "5336662211",
"Email" => "enes@xcompany.com",
"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/startdirect'
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",
"Installement": 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": "enes@xcompany.com",
"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/startdirect")
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",
"Installement" => 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" => "enes@xcompany.com",
"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.body
import 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",
Installement: 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: "enes@xcompany.com",
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/startdirect',
headers: {
'Content-Type': 'application/json',
'apikeypublic': '%%',
'apiclientpublic': '%%'
},
data : data
};
axios(config)
.then(function (response: AxiosResponse) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
curl --location --request POST '{{Base Adres}}/api/paywall/payment/startdirect' \
--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",
"Installement": 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": "enes@xcompany.com",
"Country": "Country",
"City": "City",
"Address": "Address",
"IdentityNumber": "IdentityNumber",
"TaxNumber": "TaxNumber"
},
"Products": [{
"ProductId": "ProductId",
"ProductName": "ProductName",
"ProductCategory": "ProductCategory",
"ProductDescription": "ProductDescription",
"ProductAmount": 9.85
}]
}'
Online ve fiziksel ödeme almak isteyen tüm e-ticaret işletmeleri, ödeme ve e-para kuruluşları, sigorta firmaları, araç kiralama platformları, şarj istasyonları, SaaS platformları, abonelik hizmetleri, pazaryeri modellerii ve daha birçok sektöre özel çözümler sunuyoruz. İşletmenizin ihtiyaçlarına uygun çözümler geliştirmek için bizimle iletişime geçebilirsiniz.
Paywall, Türkiye’de hizmet veren tüm e-para kuruluşları ve bankaların sanal POS’ları ile entegredir. müşterilerinize geniş bir ödeme yöntemi yelpazesi sunabilirsiniz.
Entegrasyon süreci oldukça basit ve kullanıcı dostu. Sadece detaylı entegrasyon dokümanımızı takip ederek Paywall entegrasyonunu hazır kodlar ile gerçekleştirebilir ve Paywall entegrasyon ekiplerine [email protected] üzerinden 7/24 ulaşabilirsiniz.
Hayır, Paywall doğrudan sanal POS sağlamaz. Çalışmakta olduğunuz sanal POS’larınızı tek bir panelden kolayca yönetmenize olanak tanır. E-para kuruluşları ve bankalardan sanal POS temin etmek isterseniz, süreç boyunca rehberlik ve yönlendirme yapabiliyoruz.
Paywall, PCI-DSS-1 uyumlu altyapısı ile ödeme işlemlerini ve müşteri verilerini güvenli bir şekilde işler. Sistemimiz, hem üye işyerlerinin hem de müşterilerinizin verilerini korumak için uluslararası güvenlik standartlarını uygular.
Kolay Yönetim, Yüksek Başarı Oranı, Esnek Çözümler ve Hızlı Entegrasyon.
Paywall, küçük ve orta ölçekli işletmelerden büyük kurumsal şirketlere kadar her ölçekte işletme için uyarlanabilir bir altyapı sunar. İşletmenizin büyüklüğü ne olursa olsun, Paywall ihtiyaçlarınıza uygun esnek çözümler sunar.
Paywall, işletmenize finansal avantajlar sağlamak için tasarlanmıştır. Ücretlendirme, uygun bir aylık sabit ücret ve yalnızca başarılı ödemeler üzerinden alınan işlem başına komisyon oranına dayanır. İşletmenize kazandırdığı değeri maksimize etmeyi hedefleriz.
Çalışmak istediğiniz banka veya ödeme/e-para kuruluşu ile anlaşmanızı tamamladıktan sonra, Paywall entegrasyonunu hızlı bir şekilde gerçekleştirebilir ve üye işyeri panelinden ilgili sağlayıcı bilgilerini ekleyip bağlantı kurabilirsiniz. API ya da ortak ödeme sayfasını kullanarak anında ödeme almaya başlayabilirsiniz!
API Key’lerinizi ödeme/e-para kuruluşunun size sağladığı panel üzerinden alabilirsiniz. Eğer desteğe ihtiyacınız olursa, ilgili sağlayıcı müşteri hizmetleri size yardımcı olacaktır.
Hayır, mevcut ödeme kuruluşlarıyla yaptığınız anlaşmaları değiştirmeden Paywall’u kullanabilirsiniz. Ödeme kuruluşlarının size verdiği API Key’leri, Paywall paneline girerek kolayca entegre olabilirsiniz.
Evet, Paywall ile hem tek çekim hem de taksitli ödeme seçeneklerini destekliyoruz.
Evet, farklı yerel ve uluslararası alternatif ödeme yöntemleri ile entegreyiz.
İstanbul Anadolu
Barbaros Mah. Sebboy Sokak No:4/1 İç Kapı No: 2 Ataşehir/İstanbul
İstanbul Avrupa
Kolektif House Esentepe Mahallesi Talatpaşa Caddesi No: 5 / 1 Levent, İstanbul, Esentepe
Amerika Birleşik Devletleri
8 THE GREEN #6533
DOVER, DE 19901
* Paywall üzerinden gerçekleştirilen ödemelerin tutarları, dinamik bir JavaScript sistemi ile hesaplanmakta olup, bu hesaplamalar ortalama değerler üzerinden yapılmaktadır. Tarayıcınızın çerez ayarları, ödeme tutarlarını etkileyebilecek çeşitli faktörlere yol açabilir; bu nedenle ödemelerinizde %10’a kadar değişiklik gözlemlenmesi mümkündür. Çerezlerin nasıl çalıştığı ve ödeme tutarları üzerindeki etkisi hakkında daha fazla bilgi almak için bizimle iletişime geçebilirsiniz.
*%2’ye kadar ödeme başına kâr oranı, işletmenizin işlem hacmi, mevcut POS sağlayıcı komisyon oranları ve diğer ticari koşullara bağlı olarak değişiklik gösterebilir. Detaylı bilgi için lütfen hizmet şartlarımızı inceleyin veya bizimle iletişime geçin.
*%15.6’lık yakalanan ödeme oranı, Paywall ile çalışan müşterilerin işlemleri baz alınarak hesaplanmıştır. Bu değerle ilgili örnek tabloyu öğrenmek için bizimle iletişime geçebilirsiniz.