# Ödeme Onaylama

Paynet.js ve ya Paynet-custom.js ile başlatılan hazır form  ya da özelleştirilebilir form entegrasyonlarında kredi kartı ödeme işlemini sonlandırmaya, kredi kartından ilgili tutarın çekiminin yapıldığı servistir. Bu servisi kullanmak için Paynet.js’in sunucunuza post ettiği **session\_id** ve **token\_id** bilgilerine ihtiyaç vardır.

{% hint style="warning" %}
Ödeme servisini kullanabilmeniz için secret\_key ile basic authentication yapmalısınız. [Bakınız](/authentication.md#secret-key)
{% endhint %}

{% hint style="success" %}
<https://api.paynet.com.tr/v1/transaction/charge>
{% endhint %}

{% tabs %}
{% tab title="İstek Parametreleri" %}

| Parametre İsmi             | Tip    | Zorunlu | Açıklama                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -------------------------- | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **session\_id**            | string | Evet    | Paynet.js’in formunuza attach ettiği parametre                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **token\_id**              | string | Evet    | Paynet.js’in formunuza attach ettiği parametre                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **amount**                 | string | Evet    | Bu servise gönderilen amount parametresi, hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-amount parametresi ile ayarlanan tutar ile karşılaştırılır. Tutarlar uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Bu servise gönderilen tutar hazır form entegrasyonunda data-amount ile ayarlanan tutarın aynısı, özelleştirilebilir form entegrasyonunda data-amount ile ayarlanan tutarın 100 ile çarpılmış hali olmalıdır. |
| **transaction\_type**      | char   | Evet    | Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.                                                                                                                                                                                                                                                                                                                                                                                                         |
| **add\_comission\_amount** | bool   | Evet    | Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-add\_comission\_amount parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner.                                                                                                                                                                                                                                        |
| **ratio\_code**            | string | Evet    | Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-ratio\_code parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Oran kodu kullanılmayacaksa parametrenin değeri boş string olarak gönderilmeli.                                                                                                                                                                   |
| **installments**           | string | Evet    | Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-installments parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner. Bu parametre ile taksit sınırlandırma kullanılmayacaksa parametrenin değeri boş string olarak gönderilmeli.                                                                                                                                      |
| **no\_instalment**         | bool   | Evet    | Hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-no\_instalment parametresi ile ayarlanan değer ile karşılaştırılır. Değerler uyuşmuyor ise ödeme işlemi tamamlanamaz, ödeme servisi hata döner.                                                                                                                                                                                                                                                |
| **tds\_required**          | bool   | Evet    | Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ve entegrasyonda işlem 3D zorunlu yapılmak isteniyorsa ise hem hazır form veya özelleştirilebilir form entegrasyonunda ödeme işlemini başlatırken data-tds\_required, hem de charge servisinde bu parametre true olarak ayarlanmalı, 3D zorunlu değil ise false olarak ayarlanmalı.                                                                                                                                                 |
| **reference\_no**          | string | Hayır   | İşlem ile ilişkilendireceğiniz sizin göndereceğiniz bir referans numarası. Sipariş numarası, fatura numarası gibi. Referans numarasını unique bir değer gönderirseniz charge transaction servisinden cevap alamadığınız durumlarda işlemin durumunu check transansaction servisi üzerinden kontrol edebilirsiniz. Bu şekilde mükerrer çekim işlemlerinden korunmuş oluruz.                                                                                                             |
| **is\_escrow**             | bool   | Hayır   | Yapılan işlemin ana firma onaylı gerçekleşmesini istiyorsanız "true" göndermeniz gerekmektedir. Parametre gönderilmezse false kabul edilir.                                                                                                                                                                                                                                                                                                                                            |
| **agent\_customer\_name**  | string | Hayır   | Buraya yazacağınız değer slipte "Müşteri Adı" alanında görünecektir. Müşterinize göstermek istediğiniz firma adınızı yazabilirsiniz                                                                                                                                                                                                                                                                                                                                                    |
| **iban**                   | string | Hayır   | Başında ülke kodu olacak şekilde (örn "TR") toplamda 26 karakter olacak şekilde girilmelidir.                                                                                                                                                                                                                                                                                                                                                                                          |
| {% endtab %}               |        |         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

{% tab title="Dönüş Parametreleri" %}

| Parametre İsmi                     | Tip      | Açıklama                                                                                                                                                                                                   |
| ---------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **id**                             | string   | İşlemin id'si                                                                                                                                                                                              |
| **xact\_id**                       | string   | İşlemin id'sinin şifrelenmiş hali.                                                                                                                                                                         |
| **xact\_date**                     | datetime | İşlemin tarihi                                                                                                                                                                                             |
| **transaction\_type**              | char     | 1: satış                                                                                                                                                                                                   |
| **pos\_type**                      | char     | 5: Paynet POS                                                                                                                                                                                              |
| **is\_tds**                        | bool     | İşlem 3D’li ise true                                                                                                                                                                                       |
| **agent\_id**                      | string   | İşlemi yapan bayinin Paynet cari hesap kodu                                                                                                                                                                |
| **user\_id**                       | string   | PaynetJ olarak default döner                                                                                                                                                                               |
| **email**                          | string   | Mail adresi                                                                                                                                                                                                |
| **phone**                          | string   | Telefon bilgisi                                                                                                                                                                                            |
| **bank\_id**                       | char     | Bankanın Paynet sistemindeki kodu                                                                                                                                                                          |
| **bank\_name**                     | string   | Bankanın Paynet sistemindeki adı                                                                                                                                                                           |
| **campaign\_url**                  | string   | Bankaların artı taksit ve taksit erteleme seçim ekranını gösteren url. Detaylı bilgi için arayınız.                                                                                                        |
| **instalment**                     | int      | Taksit sayısı. [Bknz](/genel-bilgiler/taksit-kodlari.md)                                                                                                                                                   |
| **ratio**                          | float    | Ödeme sırasında kullanılan oran                                                                                                                                                                            |
| **ratio\_code**                    | string   | Ödeme sırasında kullanılan oran kodu                                                                                                                                                                       |
| **card\_no\_masked**               | string   | Maskeli kart numarası                                                                                                                                                                                      |
| **card\_holder**                   | string   | Kart sahibi                                                                                                                                                                                                |
| **amount**                         | decimal  | Kredi kartından çekilen tutar                                                                                                                                                                              |
| **net\_amount**                    | decimal  | Komisyon hariç tutar                                                                                                                                                                                       |
| **comission**                      | decimal  | Hizmet bedeli                                                                                                                                                                                              |
| **comission\_tax**                 | decimal  | Hizmet bedeli vergisi                                                                                                                                                                                      |
| **end\_user\_commission**          | decimal  | Kullanıcı hizmet bedeli                                                                                                                                                                                    |
| **end\_user\_ratio**               | float    | Ödeme sırasında kullanılan kullanıcı oran kodu                                                                                                                                                             |
| **currency**                       | char     | Para birimi                                                                                                                                                                                                |
| **authorization\_code**            | string   | Banka onay kodu                                                                                                                                                                                            |
| **reference\_code**                | string   | Banka referans kodu                                                                                                                                                                                        |
| **order\_id**                      | string   | Banka sipariş no                                                                                                                                                                                           |
| **user\_unique\_id**               | string   | Üye iş yeri tarafından verilen kullanıcıya özgü benzersiz id. İlk defa kart saklama yapılıyorsa zorunlu.                                                                                                   |
| **card\_owner\_id**                | string   | İlk defa kart saklama yapıldıktan sonra, Paynet tarafından user\_unique\_id’ye göre oluşturulan kart sahibinin benzersiz değeri. Bir sonraki kart saklama servisleri bu benzersiz değer üzerinden yapılır. |
| **card\_hash**                     | string   | Kart numarasının hashlenmiş değeri                                                                                                                                                                         |
| **card\_bank\_id**                 | string   | Saklanan kartın Paynet sistemindeki kodu                                                                                                                                                                   |
| **card\_logo\_url**                | string   | Kartın logo görseli                                                                                                                                                                                        |
| **is\_succeed**                    | bool     | İşlem başarılı ise true. Eğer işlem başarılı ise http 200 ve is\_succeed true döner. Banka onay vermemiş ise http 200 ve is\_succedd false döner.                                                          |
| **is\_save\_card\_succeed**        | bool     | Kart kaydetme işlemi başarılı ise true döner. Varsayılan değeri false'tur.                                                                                                                                 |
| **save\_card\_result\_message**    | string   | Kart kaydetme işlemi sonuç mesajı                                                                                                                                                                          |
| **paynet\_error\_id**              | string   | Paynet sistemi hata kodu                                                                                                                                                                                   |
| **paynet\_error\_message**         | string   | Paynet sistemi hata mesajı                                                                                                                                                                                 |
| **bank\_error\_id**                | string   | Banka sisteminin hata kodu                                                                                                                                                                                 |
| **bank\_error\_message**           | string   | Banka sisteminin hata mesajı                                                                                                                                                                               |
| **bank\_error\_short\_desc**       | string   | Banka sisteminin hata mesajı                                                                                                                                                                               |
| **bank\_error\_long\_desc**        | string   | Banka sisteminin hata mesajı                                                                                                                                                                               |
| **agent\_reference\_no**           | string   | Ödeme işleminde kullandığınız referans numaranız. reference\_no ile aynı                                                                                                                                   |
| **object\_name**                   | string   | transaction                                                                                                                                                                                                |
| **code**                           | string   | Sistem sonuç kodu bknz.[ Bakınız](/genel-bilgiler/hata-kodlari/doenues-kodlari.md)                                                                                                                         |
| **message**                        | string   | Sistem mesajı                                                                                                                                                                                              |
| **ratio\_code\_method**            | string   | Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                     |
| **md\_status**                     | int      | 3D ödeme onaylama işlem sonucu                                                                                                                                                                             |
| **company\_cost\_ratio**           | float    | Ana firma hizmet bedeli değeri                                                                                                                                                                             |
| **company\_commission**            | decimal  | Bu işlem sonucunda ana firmaya kesilecek hizmet bedeli tutarı                                                                                                                                              |
| **company\_commission\_with\_tax** | decimal  | Bu işlem sonucunda ana firmaya kesilecek KDV'li hizmet bedeli tutarı                                                                                                                                       |
| **company\_net\_amount**           | decimal  | Bu işlem sonucunda ana firmaya ödenecek net tutar                                                                                                                                                          |
| **plus\_installment**              | string   | Artı taksit sayısı                                                                                                                                                                                         |
| **card\_type**                     | char     | Kredi kartı. [Bakınız](https://doc.paynet.com.tr/genel-bilgiler/veri-tipleri/kart-tipi)                                                                                                                    |
| **card\_brand\_name**              | string   | Kart bankası markası (VISA, MASTERCARD, AMEX)                                                                                                                                                              |
| {% endtab %}                       |          |                                                                                                                                                                                                            |

{% tab title="Request" %}

```
{
    "session_id": "js_*****FBWZ/****/tZjhkI8ecXG3HsTm8H76A6I1apMT*****",
    "token_id": "3C72FBF6-****-****-****-CA2CE9AAE900",
    "reference_no": "",
    "transaction_type": 1,
    "add_comission_amount": "true",
    "no_instalment": "false",
    "tds_required": "true",
    "installments": "0,3,6,8,9",
    "ratio_code": "",
    "amount": 1256000
}
```

{% endtab %}

{% tab title="Response" %}

```
{
    "id": 2526145,
    "xact_id": "xk_EAAAAFZ59jeB/zqMRhd0yygDgbCmqfeCJCPOmJSNDIIxBYQ5",
    "xact_date": "2020-01-30T14:38:44.6478544+03:00",
    "transaction_type": 1,
    "pos_type": 5,
    "is_tds": true,
    "agent_id": "1001",
    "user_id": "PaynetApi",
    "email": null,
    "phone": null,
    "bank_id": "AXSS",
    "bank_name": "Axess",
    "instalment": 0,
    "ratio": 0.025,
    "card_no_masked": "435508******4358",
    "card_holder": "TEST",
    "amount": 80,
    "net_amount": 78,
    "comission": 2,
    "comission_tax": 0,
    "currency": "TRY",
    "authorization_code": "aut-1022",
    "reference_code": "ref-1022",
    "order_id": "order-1022",
    "is_succeed": true,
    "paynet_error_id": "",
    "paynet_error_message": "",
    "bank_error_id": "",
    "bank_error_message": "",
    "bank_error_short_desc": "",
    "bank_error_long_desc": "",
    "agent_reference_no": "1000",
    "xact": "2526145",
    "campaign_url": "",
    "end_user_comission": 0,
    "end_user_ratio": 0,
    "ratio_code": "",
    "ratio_code_method": "",
    "is_save_card_succeed": true,
    "save_card_result_message": "Kart saklama islemi basarili",
    "card_owner_id": "2ce0bd9d-aeb3-4af0-9dd6-cf294e72f9cb",
    "user_unique_id": "31",
    "card_hash": "pch_Ie_StuwWK-dFd6H6FtZpWeqs-xq-",
    "card_bank_id": "AXSS",
    "company_cost_ratio":"0.1",
    "company_commission":""
    "company_commission_with_tax":
    "company_net_amount":""
    "plus_installment":""
    "card_type":""
    "card_brand_name":""
    "card_logo_url": "https://pts-statics.paynet.com.tr/img/banklogo/small/AXSS.png",
    "md_status": -1,
    "object_name": "transaction",
    "code": 0,
    "message": "Başarılı İşlem"
}
```

{% endtab %}

{% tab title="Service Url" %}

| Sistem           | URL                                                    |
| ---------------- | ------------------------------------------------------ |
| **Canlı Sistem** | <https://api.paynet.com.tr/v1/transaction/charge>      |
| **Test Sistemi** | ​<https://pts-api.paynet.com.tr/v1/transaction/charge> |
| {% endtab %}     |                                                        |
| {% endtabs %}    |                                                        |

Aşağıdaki örnekte post edilen **session\_id** ve **token\_id** değerleri alınarak ödeme onaylama servisine gönderilir.

```php
<?php  
			
$secret_key = "sck_pcs_rMnxDSW/43243434/YAzXXXXXXXXXXXX";
$PostURL = "https://pts-api.paynet.com.tr/v1/transaction/charge";
			
$session_id = $_REQUEST["session_id"];
$token_id 	= $_REQUEST["token_id"];
			
	
$params = array(
 'session_id' => $session_id,
 'token_id' => $token_id,
 'transaction_type' => 1, 
 'amount' => '1500',
 'add_comission_amount' => false,
 'ratio_code' => '',
 'installments' => '',
 'no_instalment' => false,
 'tds_required' => true
);
			
$options = array(
			'http' => array(
					'header'  =>"Accept: application/json; charset=UTF-8\r\n".
					"Content-type: application/json; charset=UTF-8\r\n".
					"Authorization: Basic ".$secret_key,
					'method'  => 'POST',
					'content' => json_encode($params),
					'ignore_errors' => true
					),
			);
			
$context  = stream_context_create($options);
$result = json_decode(@file_get_contents($PostURL, false, $context));
			
if($result->is_succeed == true)
{
  echo "Başarılı";
}
else
{
  echo "Başarısız";
}
			
?>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.paynet.com.tr/servisler/islem/odeme-onaylama.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
