3D Payment
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. |
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". |
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".
Last updated