Paynet API
1.0.1
1.0.1
  • Başlarken
  • Nasıl Erişirim?
  • Neye İhtiyacım var?
  • Hazır Altyapılar
  • Ödeme Metotları
    • API Entegrasyonu
      • Ödeme
      • 3D ile ödeme
    • Hazır Form
    • Özelleştirilebilir Form
      • Event Parametreleri
      • Servis Parametreleri
    • PayLink
      • PayLink Oluşturma
        • POST Metodu
        • confirmation_url'e Post Edilen Parametreler
      • PayLink Detay
      • PayLink Listeleme
      • PayLink Durum Güncelleme
  • SERVİSLER
    • İşlem
      • Ödeme Onaylama
      • Finansallaştırma
      • Ödeme Kontrol
      • İşlem Detay
      • İşlem Listesi
      • İşlem İşaretleme
      • İşlem Bilgi Ekleme
      • İşlem Slip
      • İmza Yükle
      • Ödeme Raporu
      • Escrow Durum Güncelleme
    • İptal/İade
      • İade
      • İade Listesi
      • Ön Otorizasyon İptal
      • Finansallaştırma İptal
    • Oran
      • Oran Tablosu(Sunucu Tabanlı)
      • Oran Tablosu(İstemci Taraflı)
      • Oran Tipi Düzenleme
      • Oran Tipi Silme
      • Oran Tanımlama
    • Bayi
      • Auto Login
      • Login
      • Bayi Kontrol
      • Limit
    • Abonelik
      • Oluşturma
      • Detay
      • Listeleme
      • Durum Güncelleme
      • Tutar Güncelleme
      • Tekrar Gönder
      • Kart Bilgisi Listesi
      • Kart Etiket Bilgisi Güncelleme
      • Kart Bilgisi Silme
      • Kart İlişkilendirme
      • Kart Ekleme
        • Kart ekleme başlatma
        • Kart ekleme tamamlama
      • Kart Bilgisi Sıra Düzenleme
      • Kart Bilgisi Filtreleme
      • Fatura oluşturma
      • Fatura Listesi
      • Fatura Durum Güncelleme
      • Fatura Tutar Güncelleme
      • Plan Tutar Güncelleme
      • Toplu Fatura Durum Güncelleme
      • Fatura Ödeme Girişimi Listesi
      • Manuel Çekim
    • Kart Saklama
      • Kart Bilgisi Saklama
      • Kart Silme
      • Kart Açıklaması Güncelleme
      • Kart Listesi
      • OTP Gönderme
      • OTP Kontrol
    • Cari Hesap Entegrasyonu
    • Fatura
    • Başvuru
      • Başvuru Oluşturma
      • Başvuru Çekme
      • Form Tipine Bağlı Dokümanlar
  • GENEL BİLGİLER
    • Banka Kodları
    • Taksit Kodları
    • Hata Kodları
      • HTTP Status Kodlar
      • Hata Tipleri
      • Dönüş Kodları
    • Veri Tipleri
      • Status
      • Kart Tipi
      • İşlem Tipi
    • Test Kartları
    • Örnek Projeler
    • Sıkça Sorulan Sorular
      • Kart Saklama Süreci Hakkında
  • English
    • What I need ?
    • API Integration
      • Payment
      • 3D Payment
    • Card Save
      • Card Information Saving
      • Deleting Card
      • Card Description Update
      • Card List
      • Sending OTP
      • OTP Control
    • Transaction
      • Payment Confirmation
      • Financialization
      • Payment Check
      • Transaction Details
      • Transaction List
      • Transaction Marking
      • Adding Transaction Information
      • Transaction Slip
      • Upload Signature
      • Payment Report
      • Escrow Status Update
    • Cancellation/Refund
      • Refund
      • Refund List
      • Pre-Authorization Cancellation
      • Financialization Cancellation
    • Agent
      • Auto Login
Powered by GitBook
On this page
  • 3D Secure Payment Initial
  • 3D Secure Payment Charge
  1. English
  2. API Integration

3D Payment

PreviousPaymentNextCard Save

Last updated 4 years ago

Payment with 3D Secure consists of two steps. These are 3D Payment Initial and 3D Payment Charge. With the 3D Payment Initial Service, you will be able to access the url or html content to access the 3D verification pages of the banks.

3D Secure Payment Initial

The return_url parameter is sent differently than the payment process. You can open the 3D verification page of banks by the "post_url" or "html_content" parameters that return from the Service.

Parameter Name

Type

Required

Description

amount

decimal

Yes

Amount that charges from credit card. (You should use a comma (,) as a decimal seperator.)

reference_no

string

Yes

Reference no that related with the payment transaction. It must be unique.

return_url

string

Yes

URL where the 3D verification result will be posted

domain

string

Yes

This is website that integrated payment api.

agent_reference_no

string

No

Reference code of company's agent.

card_holder

string

No

Informations of card owner. It’s necessary if transaction doesn’t perform by saved card.

pan

string

No

Card number. It’s necessary if transaction doesn’t perform by saved card.

month

int

No

Month of card expiration date (e.g 8, 12). It’s necessary if transaction doesn’t perform by saved card.

year

int

No

Year of card expiration date (e.g 2020, 2030). It’s necessary if transaction doesn’t perform by saved card.

cvc

string

No

Card security code. It’s necessary if transaction doesn’t perform by saved card.

card_hash

string

No

Token information of saved card. It's necessary if transaction performs by saved card.

card_holder_phone

string

No

Phone number of card holder.

card_holder_mail

string

No

Mail address of card holder.

description

string

No

Decription area that related with transaction.

instalment

int

No

Information about how many installments will be perform on.

agent_id

string

No

If you have a sub agent you can track transaction that comes from which agent as post agent id to the this area.

company_amount

decimal

No

If you have a sub agent you can decide how much amount of transaciton will be transferred to your account.

add_commission

bool

No

You can post true If you want to add transaction commision to amount that charged on card.

transaction_type

int

No

Sales or pre provision.1 sales,3 pre provision.Default sales transaction.

ratio_code

string

No

You can see the ratio codes of ratio tables that you can define from the “API rate definitions ” at Paynet.com.tr management screens. Commision’s calculations performs on rate tables that belongs to the rate code that you post. Therefore you can do transactions that you wish which rates perform on.

save_card

bool

No

If you want to save your credit card with payment transactions,you can post this parameter as “true”.If you want to card saving operation,it is necessary to post card_desc and at least one of the card_owner_id or user_unique_id should be posted.

card_desc

string

No

This area is necessary if card saving operation will perform.

user_unique_id

string

No

Unique id that given to user by member workplace.It’s necessary If card saving will perform at first time.Unique value(card_owner_id) assigns to user by Paynet after completion first card saving operation. You must store this value on your system by associating it with your user. Afterwards you should use the card_owner_id variable given by Paynet instead of user_unique_id for the saving

card operations .

card_owner_id

string

No

Unique card holder information that has been generated by Paynet residing on user_unique_id after the first card saving process. This value is also used in subsequent card saving and recieving payment processes.

user_gsm_no

string

No

This parameter is used if you want to make an additional OTP control whilst the card saving procces. Please contact our customer service if you want more specific information about this matter please contact with our support team.

subscription_id

string

No

Regular payment code, used with (invoice_no)if you want to recieve manual payment with a already existing regular payment.

invoice_no

string

No

Regular payment invoice number.

ratio_code_method

char

No

Please contact our customer service if you want more spesific information about this matter.

merge_option

bool

No

Please contact our customer service if you want more spesific information about this matter.

pos_type

int

No

Please contact our customer service if you want more spesific information about this matter.

approved_card

bool

No

Please contact our customer service if you want more spesific information about this matter.

agent_customer_name

string

No

The parameter which you write in this area will be seen as the "Customer's Name". You may write your firm name which you want to be seen by your customer.

is_escrow

bool

No

If you want the transaction to be approved by the company, you must send "true". If the parameter is not sent, it is considered false.

iban

string

No

It should be entered with a country code (ex "TR") with 26 characters in total.

Parameter Name

Type

Description

post_url

string

It shows 3D verification page of bank when you redirect this Url.

html_content

string

It shows 3D verification page of bank when you add this html content to your page instead of post_url

token_id

string

Token information of transaction.

session_id

string

Session information of 3D payment flow.

object_name

string

tdsinitial_response.

code

string

message

string

Transaction result message.

{
    "return_url": "https://pts-kurumsal.paynet.com.tr/Demo/TDSCharge",
    "amount": "20",
    "reference_no": "REF1001",
    "domain": "paynet.com.tr",
    "card_holder": "Paynet A.Ş",
    "pan": "1212121212121212",
    "month": "12",
    "year": "23",
    "cvc": "000"
}
{
    "token_id": "DF63C3CB-358A-4258-BDDA-522F4D8C5FA8",
    "session_id": "js_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G",
    "post_url": "https://pts-api.paynet.com.tr/v1/paynetjgate/tds_easy?session_id=js_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G&token_id=DF63C3CB-358A-4258-BDDA-522F4D8C5FA8",
    "html_content": "<form name=\"paynetForm\" id=\"paynetForm\" method=\"post\" action=\"https://pts-api.paynet.com.tr/v1/paynetjgate/tds_easy\"><input type=\"hidden\" name=\"session_id\" value=\"\"/><input type=\"hidden\" name=\"token_id\" value=\"\"/></form><script type=\"text/javascript\">document.forms[0].submit();</script>",
    "object_name": "tdsinitial_response",
    "code": 0,
    "message": "Başarılı İşlem"
}

System

Url

Live System

Test System

3D Secure Payment Charge

The service where the corresponding amount is taken from the credit card as a result of 3D verification. You can complete the payment transfer by posting the "session_id" and "token_id" to the 3D Secure Payment Charge Service via the "return_url" parameter we used in "3D Secure Payment Initial".

Parameter Name

Type

Required

Description

session_id

string

Yes

Session information of 3D payment flow

token_id

string

Yes

Token information of transaction

transaction_type

int

No

Sales or pre-provision. 1 for "sales", 3 for "pre-provision". Default is "sales".

Parameter Name

Type

Description

id

int

Unique paynet transaction id.

xact_id

string

Reference no that related with payment transaction.

xact_date

Datetime

Hash value of paynet transaction.

transaction_type

int

Type of transaction; 1 for "sales", 3 for "pre-provision".

pos_type

int

Pos type.

is_tds

string

If it's true non-3D Secure transactions will not be performed. If it's false, 3D or non-3D Secure transactions may be performed.

user_id

string

User code.

email

string

Email address.

phone

string

Phone number.

bank_id

string

Bank code.

bank_name

string

Bank name.

instalment

int

Installment information.

ratio

float

Rate of transaction commision.

card_no_masked

string

Card information of masked card.

card_holder

string

Card holder.

amount

decimal

Gross transaction amount.

net_amount

decimal

Amount except commision.

comission

decimal

Commision amount.

comission_tax

decimal

Amount of commision service.

currency

string

Currency.

authorization_code

string

Bank authorization code.

reference_code

string

Bank reference code.

order_id

string

Bank order id.

is_succeed

bool

Whether transaction is success or not. If result true it means amount charged from card.

paynet_error_id

string

Paynet error code.

paynet_error_message

string

Paynet error explanation.

bank_error_id

string

Error code that posted from bank.

bank_error_message

string

Error message that posted from bank.

bank_error_short_desc

string

Error short explanation that posted from bank.

bank_error_long_desc

string

Error long explanation that posted from bank.

agent_reference_no

string

Reference code that posted during request.

campaign_url

string

At the some of the card programs selections of plus installment or postponed intallments can be selected on the another application after transaction.

end_user_comission

decimal

Comission value on "ratio_code" usage.

end_user_ratio

float

Comission rate on "ratio_code" usage.

ratio_code

string

Ratio code.

ratio_code_method

string

Ratio code method.

is_save_card_succeed

bool

Result message shown if undergoing a card saving process.

save_card_result_message

string

Card saving message.

card_owner_id

string

Id that is going to be used in subsequent card saving processes.

card_logo_url

string

Saved card logo.

md_status

string

Bank 3D result code.

object_name

string

Object name.

code

string

message

string

Transaction result message.

{  
    "session_id": "js_EAAAAFAL6CJHCCqAoll6DRsSqLfUMmn0pcqT6LZiJk6ZX*3G",
    "token_id": "DF63C3CB-358A-4258-BDDA-522F4D8C5FA8"
}

{  
   "is_tds": true,
    "md_status": 1,
    "id": 7438118,
    "xact_id": "xk_EAAAADIJMBHKDhG0bG1f/yItmz1v9cZqMZVHViQJF0VezRKF",
    "xact_date": "2020-02-25T15:12:48.353769+03:00",
    "transaction_type": 1,
    "pos_type": 5,
    "agent_id": "1001",
    "user_id": "paynet",
    "email": null,
    "phone": null,
    "instalment": 4,
    "ratio": 0,
    "card_no_masked": "435508******4358",
    "card_holder": "Paynet Ödeme Hizmetleri AŞ",
    "amount": 6500,
    "net_amount": 6500,
    "comission": 0,
    "comission_tax": 0,
    "currency": "TRY",
    "bank_id": "WRLD",
    "bank_name": "WorldCard",
    "bank_authorization_code": "159116",
    "bank_reference_code": "90eb21b1be8044859dc9ab6c00faba89",
    "bank_order_id": "B72A95279A3D4F54A41A408FB784E77A",
    "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": "857f60cf128ddbf112171522",
    "xact_transaction_id": "B72A9527-9A3D-4F54-A41A-408FB784E77A",
    "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": "",
    "company_cost_ratio":"",

    "company_commission":"",
    "company_commission_with_tax":"",    

    "company_net_amount":"",
    

    "plus_installment":"",    

    "card_type":"",    

    "card_brand_name":"",
    "object_name": "tdscharge_response",
    "code": 0,
    "message": "Başarılı İşlem"
}

System

Url

Live System

Test System

During the tds_charge process, if you can not get a response due to reasons such as connection timeout or execution time out, you can continue the process with the same session_id and token_id until you get a response. If there is a previously successful transaction with the same session_id and token_id, the system returns that transaction. In this case, the result code returns 100 instead of 0, and the result message returns as "Önceki Başarılı İşlem".

Status code.

Status code.

https://api.paynet.com.tr/v2/transaction/tds_initial
https://api.paynet.com.tr/v2/transaction/tds_charge
See more
https://api.paynet.com.tr/v2/transaction/tds_initial
https://pts-api.paynet.com.tr/v2/transaction/tds_initial
See more
https://api.paynet.com.tr/v2/transaction/tds_charge
https://pts-api.paynet.com.tr/v2/transaction/tds_charge