# 1.5.Kredi Kartından Ödeme Alınması

Token bilgisi oluşturulduktan sonra Server-side’da kredi kartından ödeme işlemi onaylanmalı, bu aşamaya kadar yapılan işlemlerde kredi kartından ödeme alınmaz. Ödeme charge servisinden sonra kredi kartından tahsil edilir. Servisi kullanabilmek için secret key ile authorization yapmalısınız. Aynı zamanda bu servis sadece static bir ip adresi üzerinden kullanılabilir. Mobil uygulamalar üzerinden secret key’inizi kullanarak bu servisi kullanamazsınız.

Eğer kart saklama işlemi başarılı ise charge sonrası “is\_save\_card\_succeed”: true şeklinde döner, hata durumunda “save\_card\_result\_message” kart saklama işleminin neden hatalı olduğunu döner. user\_unique\_id değişkeninde kullanıcının sizin sisteminizdeki benzersiz değeri, card\_owner\_id ise Paynet tarafından verilen o kullanıcıya ait benzersiz değer. card\_owner\_id değerini kendi sisteminizde kullanıcı ile ilişkilendirerek saklamalısınız. O kullanıcının saklı kartlarına card\_owner\_id değeri üzerinden kart listeleme servisinden ulaşabilirsiniz.

{% 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    | Auth servisiyle ilgili alınan session bilgisi                                |
| **token\_id**         | string | Evet    | Create\_token ile alınan token bilgisi.                                      |
| **reference\_no**     | string | Hayır   | Ödeme işleminin ilişkili olduğu referans numarası. Örneğin sipariş numarası. |
| **transaction\_type** | string | Hayır   | 1                                                                            |
| {% endtab %}          |        |         |                                                                              |

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

| Parametre İsmi                  | Tip      | Açıklama                                                                                                     |
| ------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| **id**                          | string   | Tekil Paynet işlem id'si                                                                                     |
| **xact\_id**                    | string   | Paynet işlem id'nin hash değeri                                                                              |
| **xact\_date**                  | datetime | İşlemin tarihi                                                                                               |
| **transaction\_type**           | char(1)  | Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.                               |
| **pos\_type**                   | int      | Pos tipi                                                                                                     |
| **is\_tds**                     | bool     | True ise 3D'siz işlem yapılamaz. False ise 3D'li veya 3D'siz işlem yapılabilir.                              |
| **agent\_id**                   | string   | Bayi kodu                                                                                                    |
| **user\_id**                    | string   | Kullanıcı kodu                                                                                               |
| **email**                       | string   | Mail adresi                                                                                                  |
| **phone**                       | string   | Telefon bilgisi                                                                                              |
| **bank\_id**                    | string   | Banka kodu                                                                                                   |
| **bank\_name**                  | string   | Banka adı                                                                                                    |
| **instalment**                  | int      | İşlemin kaç taksit yapılacağı. Değer gönderilmezse tek çekim uygulanır.                                      |
| **ratio**                       | float    | İşlem komisyon oranı                                                                                         |
| **card\_no\_masked**            | string   | Maskeli kart bilgisi                                                                                         |
| **card\_holder**                | string   | Kart sahibinin bilgisi                                                                                       |
| **amount**                      | decimal  | Brüt işlem tutarı                                                                                            |
| **net\_amount**                 | decimal  | Komisyon hariç tutar                                                                                         |
| **comission**                   | decimal  | Komisyon tutarı                                                                                              |
| **comission\_tax**              | decimal  | Komisyon vergisi                                                                                             |
| **currency**                    | string   | Para birimi                                                                                                  |
| **authorization\_code**         | string   | Onay kodu                                                                                                    |
| **reference\_code**             | string   | Referans kodu                                                                                                |
| **order\_id**                   | string   | Sipariş numarası                                                                                             |
| **is\_succeed**                 | bool     | işlemin başarılı ya başarısız olduğu bilgisi. true ise ilgili karttan tutar tahsil edilmiş demektir.         |
| **paynet\_error\_id**           | string   | Paynet hata kodu                                                                                             |
| **paynet\_error\_message**      | string   | Paynet hata mesajı                                                                                           |
| **bank\_error\_id**             | string   | Bankadan bildirilen hata kodu                                                                                |
| **bank\_error\_message**        | string   | Bankadan bildirilen hata mesajı                                                                              |
| **bank\_error\_short\_desc**    | string   | Bankadan bildirilen hata mesajı                                                                              |
| **bank\_error\_long\_desc**     | string   | Bankadan bildirilen hata mesajı                                                                              |
| **agent\_reference\_no**        | string   | Request sırasında gönderilen referans kodu                                                                   |
| **campaign\_url**               | string   | Bazı kart progamlarında + taksit ve taksit erteleme seçimi işlem sonrası başka bir uygulamada seçilebiliyor. |
| **end\_user\_comission**        | decimal  | ratio\_code kullanımında komisyon değeri                                                                     |
| **end\_user\_ratio**            | float    | ratio\_code kullanımında komisyon oranı                                                                      |
| **ratio\_code**                 | string   | Oran kodu                                                                                                    |
| **ratio\_code\_method**         | string   | Oran kodu methodu                                                                                            |
| **is\_save\_card\_succeed**     | bool     | Kart saklama işlemi yapılıyorsa kart saklama sonucu                                                          |
| **save\_card\_result\_message** | string   | Kart saklama mesajı                                                                                          |
| **user\_unique\_id**            | string   | Müşterinizin benzersiz numarası                                                                              |
| **card\_owner\_id**             | string   | Kart saklamada bir sonraki sefer kullanılacak id                                                             |
| **object\_name**                | string   | Dönen cevabın nesne adı                                                                                      |
| **code**                        | string   | İşlemin cevap kodu 0 ise işlem başarılıdır.                                                                  |
| **message**                     | string   | İşlemin cevap koduna göre mesaj barındırır.                                                                  |
| {% endtab %}                    |          |                                                                                                              |

{% tab title="Request" %}

```
{  
   "session_id":"js_EAAAACbRzo74tNbO56EdJtHWkJVbbpGnwpPHtzweU2A0LzPu",
   "token_id":"jt_EAAAAIEOepBMwb1HKJddqx7r9NsyxCFd4cwglcnWsP36nZd+RyhJjac485Io+F3GBFVzflD0ySWTvhhRdCMRM8y/19g=",
   "reference_no":"sip123456",
   "transaction_type":1
}

```

{% endtab %}

{% tab title="Response" %}

```
{
    "id": 2038219,
    "xact_id": "xk_EAAAAIbSIhPJEDLcacVaeEbEfE8hrWt6arVigzKVOXX7FT*V",
    "xact_date": "2017-07-14T13:48:20.5428782+03:00",
    "transaction_type": 1,
    "pos_type": 5,
    "is_tds": false,
    "agent_id": "10031",
    "user_id": "PaynetApi",
    "email": “”,
    "phone": “”,
    "bank_id": "AXSS",
    "bank_name": "Axess",
    "instalment": 0,
    "ratio": 0.025,
    "card_no_masked": "434678******0002",
    "card_holder": "onur ozdemir",
    "amount": 100,
    "net_amount": 97.5,
    "comission": 2.5,
    "comission_tax": 0,
    "currency": "TRY",
    "authorization_code": "aut-4881",
    "reference_code": "ref-4881",
    "order_id": "order-4881",
    "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": "",
    "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",
    "user_unique_id": "DCFC03FA-F053-41BD-9DCA-E3178C84FB22",
    "card_owner_id": "f4dabd79-5b7e-40bd-84d5-54058242dfa0",
    "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](https://doc.paynet.com.tr/uornek/servisler/kart-saklama/1.oedeme-sirasinda-kart-saklama/https:/api.paynet.com.tr\[/v1/transaction/charge)]\(<https://api.paynet.com.tr/v1/transaction/charge>)             |
| **Test Sistemi** | [https://pts-api.paynet.com.tr​​\[/v1/transaction/charge](https://doc.paynet.com.tr/uornek/servisler/kart-saklama/1.oedeme-sirasinda-kart-saklama/https:/pts-api.paynet.com.tr​​\[/v1/transaction/charge)]\(<https://api.paynet.com.tr/v1/transaction/charge>) |
| {% endtab %}     |                                                                                                                                                                                                                                                                |
| {% endtabs %}    |                                                                                                                                                                                                                                                                |

{% hint style="info" %}
Charge işlemi sırasında eğer connection timeout ya da execution time out gibi sebeplerden dolayı cevap alamıyorsanız, aynı session id ile cevap alana kadar işleme devam edebilirsiniz. Sistem aynı session id ile daha önceden başarılı bir işlem var ise o işlemi döndürür. Bu durumda sonuç kodu 0 yerine 100 döner, sonuç mesajı da “Önceki Başarılı İşlem” şeklinde döner.
{% endhint %}
