# Ödeme

3D doğrulama olmadan ödeme servisimizi kullanarak  tek çekim, taksitli ve saklı kart ile ödeme işlemlerini gerçekleştirebilirsiniz. Kredi kartından direkt ödeme tutarı çekilir,  3D doğrulama yapılmaz.

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

{% hint style="warning" %}
Bu serviste 3D doğrulama yapılmadığı için bu servisi kullanma yetkiniz olmalı. Bu konu hakkında satış temsilciniz ile temasa geçebilirsiniz.
{% endhint %}

{% hint style="success" %}
[https://api.paynet.com.tr/v2/transaction/payment](https://api.paynet.com.tr/v2/transaction/payment)
{% endhint %}

{% tabs %}
{% tab title="İstek Parametreleri" %}
| No | Parametre               | Tip         | Zorunlu   | Açıklama                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| -- | ----------------------- | ----------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1  | **amount**              | decimal     | evet      | Kredi kartından çekilecek tutar.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 2  | **reference\_no**       | string(50)  | evet      | Ödeme işleminin ilişkili olduğu referans numarası. Tekil (unique) bir veri olmalı. ( örn: sipariş numarası )                                                                                                                                                                                                                                                                                                                                                            |
| 3  | **domain**              | string(256) | evet      | İşlemin yapıldığı uygulamanın domain bilgisi. ( örn: www.acme.com )                                                                                                                                                                                                                                                                                                                                                                                                     |
| 4  | **card\_holder**        | string(50)  | opsiyonel | <p>Kart sahibi bilgisi. </p><p>Saklı kart ile işlem yapılmıyorsa zorunlu.</p>                                                                                                                                                                                                                                                                                                                                                                                           |
| 5  | **pan**                 | string      | opsiyonel | <p>Kart numarası. </p><p>Saklı kart ile işlem yapılmıyorsa zorunlu.</p>                                                                                                                                                                                                                                                                                                                                                                                                 |
| 6  | **month**               | int         | opsiyonel | <p>Son kullanma tarihi Ay bilgisi. ( örn: 8,12 ) </p><p>Saklı kart ile işlem yapılmıyorsa zorunlu.</p>                                                                                                                                                                                                                                                                                                                                                                  |
| 7  | **year**                | int         | opsiyonel | Son kullanma tarihi Yıl bilgisi. ( örn: 2020, 2030  ) Saklı kart ile işlem yapılmıyorsa zorunlu.                                                                                                                                                                                                                                                                                                                                                                        |
| 8  | **cvc**                 | string      | opsiyonel | <p>Kart güvenlik kodu. </p><p>Saklı kart ile işlem yapılmıyorsa zorunlu.</p>                                                                                                                                                                                                                                                                                                                                                                                            |
| 9  | **card\_hash**          | string      | opsiyonel | Saklı kartın token bilgisi. Kart bilgileri girilmemiş ise bu bilgi zorunlu.                                                                                                                                                                                                                                                                                                                                                                                             |
| 10 | **card\_holder\_phone** | string(10)  | hayır     | Kart sahibinin telefon numarası.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 11 | **card\_holder\_mail**  | string(60)  | hayır     | Kart sahibi email adresi.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 12 | **description**         | string(140) | hayır     | İşlem ile ilgili açıklama alanı.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 13 | **instalment**          | int         | hayır     | İşlemin kaç taksit yapılacağı bilgisi. Değer gönderilmezse tek çekim uygulanır.                                                                                                                                                                                                                                                                                                                                                                                         |
| 14 | **agent\_id**           | string(10)  | hayır     | Eğer alt bayileriniz var ise işlemin hangi bayi üzerinden geldiğini bu alana bayi kodu göndererek yapabilirsiniz.                                                                                                                                                                                                                                                                                                                                                       |
| 15 | **company\_amount**     | decimal     | hayır     | Eğer alt bayileriniz var ise işlemin ne kadarının sizin hesabınıza aktarılacağını belirleyebilirsiniz.                                                                                                                                                                                                                                                                                                                                                                  |
| 16 | **add\_commission**     | bool        | hayır     | İşlem komisyonunun karttan çekilecek tutar'a eklenmesini istiyorsanız "true" gönderebilirsiniz.                                                                                                                                                                                                                                                                                                                                                                         |
| 17 | **transaction\_type**   | char(1)     | hayır     | Satış ya da ön provizyon. 1 satış, 3 ön provizyon. Varsayılan satış işlemidir.                                                                                                                                                                                                                                                                                                                                                                                          |
| 18 | **ratio\_code**         | string(8)   | hayır     | Paynet.com.tr yönetim ekranlarında “API oran tanımları” sayfasından tanımlayabileceğiniz oran tablolarının “oran kodunu” bu alanda gönderebilirsiniz. Gönderdiğiniz oran koduna ait oran tablosu üzerinden komisyon hesaplaması yapılır. Bu sayede API üzerinden istediğiniz oranlar ile işlem yapabilirsiniz.                                                                                                                                                          |
| 19 | **save\_card**          | bool        | hayır     | Ödeme işlemi ile birlikte kredi kart numarasının da saklanması istiyorsanız bu  parametreyi true yollayabilirsiniz. Kart saklama işlemi yapıyorsanız card\_desc zorunlu, card\_owner\_id ya da user\_unique\_id değerlerinden en az birini göndermeniz zorunlu.                                                                                                                                                                                                         |
| 20 | **card\_desc**          | string(100) | opsiyonel | Kart saklama işlemi yapılıyor ise bu alan zorunludur.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 21 | **user\_unique\_id**    | string      | opsiyonel | Üye iş yeri tarafından verilen kullanıcıya özgü benzersiz id. İlk defa kart saklama yapılıyorsa zorunlu. İlk kart saklama tamamlandıktan sonra Paynet tarafından bu kullanıcıya benzersiz bir değer atanır( card\_owner\_id). Bu değeri kendi sisteminizde kullanıcınız ile ilişkilendirerek saklamalısınız. Daha sonra bu kullanıcıya yapılan kart saklama işlemlerinde user\_unique\_id yerine Paynet tarafından verilen card\_owner\_id değişkenini kullanmalısınız. |
| 22 | **card\_owner\_id**     | string      | opsiyonel | İlk defa kart saklama yapıldıktan sonra, Paynet tarafından user\_unique\_id’ye göre oluşturulan kart sahibinin benzersiz bilgisi. Bir sonraki kart saklama ve karttan ödeme alma işlemlerinde bu değer kullanılır.                                                                                                                                                                                                                                                      |
| 23 | **user\_gsm\_no**       | string      | hayır     | Kart saklama işleminde ek olarak OTP kontrolü yapmak isterseniz bu parametre kullanılır. Daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                                                                                                                                                                                                          |
| 24 | **subscription\_id**    | string      | hayır     | Düzenli ödeme kodu, mevcut bir düzenli ödemenize manuel ödeme almak istediğinizde invoice\_no ile beraber kullanılır.                                                                                                                                                                                                                                                                                                                                                   |
| 25 | **invoice\_no**         | string      | hayır     | Düzenli ödeme fatura numarası.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 26 | **ratio\_code\_method** | char(1)     | hayır     | Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                                                                                                                                                                                                                                                                                  |
| 27 | **merge\_option**       | bool        | hayır     | Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                                                                                                                                                                                                                                                                                  |
| 28 | **pos\_type**           | int         | hayır     | Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                                                                                                                                                                                                                                                                                  |
| 29 | **approved\_card**      | bool        | hayır     | Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.                                                                                                                                                                                                                                                                                                                                                                                  |
{% endtab %}

{% tab title="Dönüş Parametreleri" %}
| No  | Parametre                       | Tip      | Açıklama                                                                                                     |
| --- | ------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| 1   | **id**                          | int      | tekil paynet işlem id                                                                                        |
| 2   | **xact\_id**                    | string   | paynet işlem id'nin hash değeri                                                                              |
| 3   | **xact\_date**                  | DateTime | işlemin tarihi                                                                                               |
| 4   | **transaction\_type**           | char(1)  | işlem tipi 1: satış, 2: ön provizyon                                                                         |
| 5   | **pos\_type**                   | int      | pos tipi                                                                                                     |
| 6   | **agent\_id**                   | string   | bayi kodu                                                                                                    |
| 7   | **user\_id**                    | string   | kullanıcı kodu                                                                                               |
| 8   | **email**                       | string   | mail adresi                                                                                                  |
| 9   | **phone**                       | string   | telefon bilgisi                                                                                              |
| 10  | **bank\_id**                    | string   | Banka kodu                                                                                                   |
| 11  | **bank\_name**                  | string   | Banka adı                                                                                                    |
| 12  | **instalment**                  | int      | taksit bilgisi                                                                                               |
| 13  | **ratio**                       | float    | işlem komisyon oranı                                                                                         |
| 14  | **card\_no\_masked**            | string   | maskeli kart bilgisi                                                                                         |
| 15  | **card\_holder**                | string   | kart sahibi                                                                                                  |
| 16  | **amount**                      | decimal  | brüt işlem tutarı                                                                                            |
| 17  | **net\_amount**                 | decimal  | komisyon hariç tutar                                                                                         |
| 18  | **comission**                   | decimal  | komisyon tutarı                                                                                              |
| 19  | **currency**                    | string   | para birimi                                                                                                  |
| 20  | **bank\_authorization\_code**   | string   | banka onay kodu                                                                                              |
| 21  | **bank\_reference\_code**       | string   | banka referans kodu                                                                                          |
| 22  | **bank\_order\_id**             | string   | banka sipariş numarası                                                                                       |
| 23  | **is\_succeed**                 | bool     | işlemin başarılı ya başarısız olduğu bilgisi. true ise ilgili karttan tutar tahsil edilmiş demektir.         |
| 24  | **code**                        | string   |  http status kodu                                                                                            |
| 25  | **message**                     | string   | işlem sonuç mesajı                                                                                           |
| 26  | **paynet\_error\_id**           | string   | paynet hata kodu                                                                                             |
| 27  | **paynet\_error\_message**      | string   | paynet hata açıklaması                                                                                       |
| 28  | **bank\_error\_id**             | string   | bankadan bildirilen hata kodu                                                                                |
| 29  | **bank\_error\_message**        | string   | bankadan bildirilen hata mesajı                                                                              |
| 30  | **bank\_error\_short\_desc**    | string   | bankadan bildirilen hata mesajı                                                                              |
| 31  | **bank\_error\_long\_desc**     | string   | bankadan bildirilen hata mesajı                                                                              |
| 32  | **reference\_no**               | string   | request sırasında gönderilen referans kodu                                                                   |
| 33  | **xact\_transaction\_id**       | string   | O işlemin guid işlem kodu, bu işlemin iptal, iade işlemlerinde bu alan aynı guid değerini alır.              |
| 34  | **campaign\_url**               | string   | Bazı kart progamlarında + taksit ve taksit erteleme seçimi işlem sonrası başka bir uygulamada seçilebiliyor. |
| 35  | **end\_user\_comission**        | decimal  | ratio\_code kullanımında komisyon değeri                                                                     |
| 36  | **end\_user\_ratio**            | float    | ratio\_code kullanımında komisyon oranı                                                                      |
| 37  | **ratio\_code**                 | string   | oran kodu                                                                                                    |
| 38  | **ratio\_code\_method**         | string   | oran kodu methodu                                                                                            |
| 39  | **is\_save\_card\_succeed**     | bool     | kart saklama işlemi yapılıyorsa kart saklama sonucu                                                          |
| 40  | **save\_card\_result\_message** | string   | kart saklama mesajı                                                                                          |
| 41  | **card\_owner\_id**             | string   | kart saklamada bir sonraki sefer kullanılacak id                                                             |
| 42  | **user\_unique\_id**            | string   | müşterinizin benzersiz numarası                                                                              |
| 43  | **card\_hash**                  | string   | token edilmiş kart bilgisi                                                                                   |
| 44  | **card\_bank\_id**              | string   | saklı kart bankası                                                                                           |
| 45  | **card\_logo\_url**             | string   | saklı kart logosu                                                                                            |
{% endtab %}

{% tab title="Request" %}
```javascript
Request
{
    "amount": 12.5,
    "reference_no": "REF1000",
    "agent_id": "",
    "pos_type": "5",
    "transaction_type": "1",
    "company_amount": null,
    "add_commission": "False",
    "ratio_code": "",
    "instalment": "0",
    "merge_option": "False",
    "ratio_code_method": "",
    "domain": "",
    "approved_card": "False",
    "card_holder": "******",
    "card_hash": "",
    "pan": "******",
    "month": "8",
    "year": "2026",
    "cvc": "000",
    "card_holder_phone": "",
    "card_holder_mail": "",
    "description": "test",
    "save_card": "False",
    "card_owner_id": "",
    "user_unique_id": "",
    "user_gsm_no": "",
    "card_desc": "",
    "subscription_id": "",
    "invoice_no": ""
}

```
{% endtab %}

{% tab title="Response " %}
```javascript
{
    "id": 2049043,
    "xact_id": "xk_EAAAAEBAN9wUFv0GvZ37KeP0ggCz*SafLumQCPN2Z1EDrsMf",
    "xact_date": "2018-12-14T13:33:53.1227309+03:00",
    "transaction_type": 1,
    "pos_type": 6,
    "agent_id": "20077",
    "user_id": "PaynetApi",
    "email": null,
    "phone": null,
    "instalment": 0,
    "ratio": 0.02,
    "card_no_masked": "450803******4509",
    "card_holder": "TEST TEST",
    "amount": 12.5,
    "net_amount": 12.25,
    "comission": 0.25,
    "comission_tax": 0,
    "currency": "TRY",
    "bank_id": "ZDGR",
    "bank_name": "Maximum",
    "bank_authorization_code": "aut-7044",
    "bank_reference_code": "ref-7044",
    "bank_order_id": "order-7044",
    "is_succeed": true,
    "paynet_error_id": "",
    "paynet_error_message": "",
    "bank_error_id": "",
    "bank_error_message": "",
    "bank_error_short_desc": "",
    "bank_error_long_desc": "",
    "reference_no": "deneme11",
    "xact_transaction_id": "2049043",
    "campaign_url": "",
    "end_user_comission": 0,
    "end_user_ratio": 0,
    "ratio_code": "",
    "ratio_code_method": "",
    "is_save_card_succeed": false,
    "save_card_result_message": "",
    "card_owner_id": "",
    "user_unique_id": "",
    "card_hash": "",
    "card_bank_id": "",
    "card_logo_url": "",
    "object_name": "payment_response",
    "code": 0,
    "message": "Başarılı İşlem"
}
```
{% endtab %}

{% tab title="Service Url" %}
| Sistem           | URL                                                                                                          |
| ---------------- | ------------------------------------------------------------------------------------------------------------ |
| **Canlı sistem** | [https://api.paynet.com.tr/v2/transaction/payment](https://api.paynet.com.tr/v2/transaction/payment)         |
| **Test sistemi** | [https://pts-api.paynet.com.tr/v2/transaction/payment](https://pts-api.paynet.com.tr/v2/transaction/payment) |
{% endtab %}
{% endtabs %}

{% hint style="success" %}
İşlem sonucunun başarılı olup olmadığını  **is\_succeed** parametresini kontrol ederek anlayabilirsiniz. **is\_succeed** parametresi true ise işlem başarılı demektir. Hata kodları için [daha detaylı bilgi için](../../genel-bilgiler/hata-kodlari).
{% endhint %}

{% hint style="info" %}
connection timeout ya da execution time out gibi sebeplerden dolayı cevap alamıyorsanız, aynı **reference\_no** ile cevap alana kadar işleme devam edebilirsiniz. Sistem aynı reference\_no 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” olarak döner.
{% endhint %}

###

{% hint style="info" %}
Kart saklama süreci ile ilgili dahat detaylı bilgi için [bknz](../../genel-bilgiler/sikca-sorulan-sorular/kart-saklama-suereci-hakkinda).
{% endhint %}
