Introduction

 

Intended Audience

This overview document is written for technical people with a background in payments services; and implementing online payment functionality to the e-commerce sites and/or internal ERP systems using Payten Payment Gateway.

 

How to Contact Customer Support

For problems with transaction processing or your connection to the server, contact Customer Support.

Phone number: 0212 319 0 678
Email: destek.gateway@payten.com

 

What is Payten Payment Gateway?

Payten Payment Gateway is an online payment solution developed by Payten Turkey. It offers a secure, easy and convenient checkout experience for both, customers and merchants. While Customers (Card Holders) enjoy the secure e-wallet and flexible payment features on check out pages; the Merchants are handling the payment without touching the credit card data so they remain PCI DSS compliant; and therefore eliminate the risks around fraud & secure storage of financially sensitive data.

Security Standards

More about PCI DSS Data Security Standards

 

Security

Payten Payment Gateway is built on a robust and secure communication protocol. Payten Payment Gateway API is a set of instructions submitted with standard HTTPS Post requests. At the server end, we use a certificate delivered by Verisign. The SSL encryption guarantees that it is our servers you are communicating with and that your data is transmitted in encrypted form. There is no need for a client SSL certificate. When we receive a request, we check the level of encryption. Directly TLSv1.2 version and next version is supported.

 

Supported Languages

The API supports all platforms & languages that can implement HTTPS Post methods.

 

Response Parsing

Payten Payment Gateway responses by default will be in form of JSON format. You can use any JSON parsing tool or framework to process Payten Payment Gateway responses.

 

Test Environment

An API test environment is available and all API action types given in this document can be tested using by Payten Payment Gateway API Test URL. All API requests should be sent to this URL address using HTTPS POST method.

Payten Payment Gateway API Test URL

				https://test.merchantsafeunipay.com/msu/api/v2
			
 

Request & Response

 

Payten Payment Gateway API Requests

A request to the Payten Payment Gateway API is made a by sending a POST HTTPS request to Payten Payment Gateway API Endpoint URL. Each HTTPS POST request send to the API URI should have a set of parameter-value pairs encoded in it, depending of the type of request being sent.

 

Payten Payment Gateway API Responses

The Payten Payment Gateway API response supports JSON data format. Each response, regardless of the success of the action, will return the responseCode and responseMsg parameters. Depending on the successfulness of the action the responseCode and responseMsg can have the specific value pairs. If an error has occurred and the API call is considered to be failed (responseCode is not equal to 00) the error and errorCode parameters will be present in the response.

IMPORTANT NOTE: Responses of our services may vary from service to service, so expect responseCode and responseMessage there may be new response parameters. Please consider optional parameters while parsing JSON response.

Possible values for RESPONSECODE and RESPONSEMESSAGE

Response Code Response Message Description
00 Approved Action done successfully
01 Waiting for Approval Action can not be done. It needs admin approval to be finished.
98 General Error Action failed due to general error. A general error can be a runtime error during action processing or a payment gateway error that is not yet mapped in our error set.
99 Declined Action failed due to invalid parameters or payment gateway error.
 

Authentication

You first authenticate to the API by providing your user information (secure credentials) in the request. You can manage your API user information from your account or by requesting related change from support team. Every API user have its own e-mail and password information. Your user e-mail and password pair carries many privileges, so be sure to keep them secret!

All API requests must be made over HTTPS. Calls made over plain HTTPS will fail. You must authenticate properly for all requests.

The recommended way is to create a Session Token with these credentials, and then use this token for subsequent API requests

API Request Authentication Parameters

				
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]

			
 

How to integrate?

 

Hash Control

Hash Control in Virtual POS payment systems is a method used to ensure security during payment transactions by using sdSha512 hash control. In this method, it is used to verify the integrity and accuracy of the data sent during the payment process. This makes it possible to detect and prevent changes made on the server where the payment transaction takes place.

Hashing is a mathematical operation that converts a data set into a unique set. The resulting array is used to verify the integrity of the dataset and to detect whether any changes have been made. In payment systems, the hash value generated by the system after the transaction can be created using different algorithms depending on the device and transaction details.

sdSha512 hash control is a hash value calculated using the SHA-512 algorithm. This hash value is used to verify the integrity and accuracy of the data sent during the payment process. The hash value of the data sent during the payment process is compared with the hash value calculated by the recipient, and when a match is found, the payment transaction is performed.

In summary, sdSha512 hash control is a method used to ensure security in virtual POS payment systems and is used to verify the integrity and accuracy of the data sent during the payment process.

IMPORTANT NOTE:

If you are using the Direct Post Integration and Hosted Payment Page(HPP) models from our integration models, you can compare the accuracy of the payment by calculating the hash value calculated within the sdSha512 parameter found in the browser return using the following formula:

sdSha512 request.getParameter('sdSha512')

Used for hash verification secretKey is the private merchant key defined once for each merchant, formula :SHA512 encodeHexString((merchantPaymentId+'|'+customerId+'|'+sessionToken+'|'+responseCode+'|'+randomKey+'|'+secretKey))

API Model Flow

 

API Model

This integration model is the most simplest and straightforward model which enables the whole secure checkout & ewallet experience to take place behind the scenes. It allows the merchants to continue to use their own payment & wallet pages without directing their customer to a 3rd party environment/page. Available API calls for transaction, query and card management functions enable merchants to enjoy Payten Payment Gateway features from the backend.

However please note that this model still requires you to handle the credit card even if you store it. This is simply because the sensitive financial information will be entering your environment (via your payment page) and it will be received & forwarded to Payten Payment Gateway by your own system. Therefore you won't be 100% free from PCI-DSS regulations and will be subject to certain elements of PCI DSS compliance.

API Model Flow

 

Hosted Page (HP)

This model requires the merchants to use Payten Payment Gateway's payment page hosted in Payten environment. It is based on one way communication of the "transaction result" to the Merchant system occurring at Step 4. HPP model simply assumes that the Merchant site has received the transmitted information and updated its own records accordingly. It has the following steps:

Step 1:

The Merchant Web Site makes a sale request by specifying the integration model as HPP. Order/Billing/Shipping details can also be passed at this stage to be displayed on Payten Payment Gateway payment page for Customer's information only.

Step 2:

The payment request is processed, a session token is created and sent back to the merchant site. Merchant Web Site receives the token and redirects Customer's Browser to Payten Payment Gateway Payment Pages with the given session token.

Step 3:

If there is any saved card detail for the Customer, his/her e-wallet is displayed for quick payment. If not, new card entry screen is displayed. Customer clicks on 'pay' button after entering/selecting the card to be used in payment. Payten Payment Gateway processes the payment accordingly.

Step 4:

Payten Payment Gateway redirects the Customer Browser to Merchant Web Site and also returns the transaction result.

Please note that Step 4 is a browser based HTTPS re-direction and it all happens in customer's environment in which Payten has no control over. There might be cases like where the customer may close the browser screen or internet connection may cuts off during this re-direction etc. Therefore merchants using this model should not completely rely on redirection process to obtain information about the payment result. They should use additional api calls to check the status of the payment. These details are available in API Model Integration document.

Hosted Page (HP) Flow

 

Direct Post (Non 3D)

This integration model is based on the scenario that the Payment Page is being hosted by Merchants but its form action is Direct Post to Payten Payment Gateway so that any financially sensitive data will be collected still at the convenience of a merchant hosted page but to be fully compatible with PCI DSS. This will overcome the shortage of the API integration model for the merchants willing 100% compliance with PCI DSS without any additional effort on their side. Please see the flow below for details.

Step 1:

The Merchant Core System makes a Session Token request in order to get a valid key value for defining the session.

Step 2:

This session token request is processed; a session token is created and sent back to the merchant system in the API response.

Step 3:

Merchant system serves the payment page using the given secure session token.

Step 4:

Cardholder interacts with the page and clicks on Confirm button. Merchant system submits all information received via this page to Payten Payment Gateway system.

Extra Point Step :

If merchant wants to provide points usage to cardHolders, merchants need to call Query Points with SESSIONTOKEN, CARDPAN,CARDEXPIRY. According to QUERYPOINTS response merchant need to set hidden points parameter in the form. Points parameter format should be json and it differs bank by bank. Merchants needs to encode points value because it is a json format. So please check sale by points payment type examples.

Step 5:

Payten Payment Gateway processes the payment details via an invisible interim page.

Step 6:

Payten Payment Gateway forwards the payment to the relevant VPOS, receives the result and redirect the cardholder back to merchant return url. The merchant is expected to listen and parse the payment result within the posted form.

Direct Post Test Form

Pay with Card Data Form

				
<form action="https://test.merchantsafeunipay.com/merchant/post/sale/[SECURE_SESSION_TOKEN]" method="post">
	<input type="text" name="cardOwner" placeholder="Card Owner" maxlength="32" />
	<input type="text" name="pan" placeholder="PAN" maxlength="19" />
	<select name="expiryMonth">
		<option value="01">January</option>
		<option value="02">February</option>
	</select> 
	<select name="expiryYear">
		<option value="2019">2019</option>
		<option value="2020">2020</option>
		<option value="2021">2021</option>
	</select>
	<input type="password" name="cvv" placeholder="CVV" maxlength="4" />
	<input type="checkbox" name="saveCard" />
	<input type="text" name="cardName" placeholder="Card Name"/>
	<input type="text" name="cardCutoffDay" placeholder="Card Cutoff Day"/>
	<input type="text" name="installmentCount" placeholder="Installment Count"/>
	<input type="hidden" name="points" />
	<input type="submit" value="Submit" />
</form>
				
				

Pay with Card Token Form

					
<form action="https://test.merchantsafeunipay.com/merchant/post/sale/[SECURE_SESSION_TOKEN]" method="POST">
	<input name="cardToken" type="text"  placeholder="Card Token"size="20" />
	<input name="cvv" type="text" placeholder="CVV" size="4" />
	<input type="submit" value="Complete Payment"/>
</form>
					
				

Direct Post Flow



Direct Response Parameter Set

Paramater Name Get Value Description
merchantPaymentId request.getParameter('merchantPaymentId') Get from sessionToken
apiMerchantId request.getParameter('apiMerchantId') Get from sessionToken
paymentSystem request.getParameter('paymentSystem') Get from card Number PIN
paymentSystemType request.getParameter('paymentSystemType') Payment System Type information
paymentSystemEftCode request.getParameter('paymentSystemEftCode') Eft code of the payment system
pgTranId request.getParameter('pgTranId') Transaction Id which come from bank side
pgTranDate request.getParameter('pgTranDate') Transaction date at bank side
pgTranRefId request.getParameter('pgTranRefId') Transaction Reference Id which is come from bank side
pgOrderId request.getParameter('pgOrderId') PgOrderId which is the order id at bank side
customerId request.getParameter('customerId') customerId which is the customer Id merchant side
sessionToken request.getParameter('sessionToken') Return the session token which is created at sessionToken action
cardToken request.getParameter('cardToken') Returned if transaction make with card Token
random request.getParameter('random') Random value which is used at veriyfing the SD_SHA512 hash value
sdSha512 request.getParameter('sdSha512') Used for hash verification secretKey is the private merchant key defined once for each merchant, formula :SHA512 encodeHexString((merchantPaymentId+'|'+customerId+'|'+sessionToken+'|'+responseCode+'|'+randomKey+'|'+secretKey))
pgTranErrorText request.getParameter('pgTranErrorText') Return only in error case; contains bank transaction error message
pgTranErrorCode request.getParameter('pgTranErrorCode') Return only in error case; contains bank transaction error code
pgTranErrorCode request.getParameter('pgTranErrorCode') Return only in error case; contains bank transaction error code
errorCode request.getParameter('errorCode') Return only in error case; contains Payten Payment Gateway error code
errorMsg request.getParameter('errorMsg') Return only in error case; contains Payten Payment Gateway error message
responseCode request.getParameter('responseCode') Response code of the Payten Payment Gateway
responseMsg request.getParameter('responseMsg') Response message of the Payten Payment Gateway

Sample response for Direct Post Non 3D

					
merchantPaymentId: PaymentId-f9674Yt6A5OS
apiMerchantId: 700100000
paymentSystem: ISBANK TEST
paymentSystemType: ISBANK
paymentSystemEftCode: 0064
amount: 16.35
installment: 1
sessionToken: VSXHYVAU654LQLLDI4NUQQWWHEFL2Q7Y3ECTH6LFD4HWEQ65
random: -1929320431
customerId: Customer-8hJYY8fT
sdSha512: a38679fb3718a0c96364f529a8e8172c5d18c92d91d7ea3ddb84e68caa9eef4ae2c284326c58558101e06cdded65bddf6f9a6642a7fb800002d2024bc002be82
pgTranDate: 20170112 14:43:15
pgTranId: 17012OrPA07024073
pgTranRefId: 701200002834
pgOrderId: PaymentId-f9674Yt6A5OS
cardBin: 424242
panLast4: 4242
responseCode: 00
responseMsg: Approved
                      
				
 

Direct Post Sale 3D

The DirectPost 3D integration model directs our customers' transactions to be processed through 3D Secure, however, it does not determine the security level as either 'full secure' (verification with a code sent to the cardholder's mobile phone) or 'half secure' (allowing the transaction to proceed without a code sent to the cardholder's phone due to issues/inadequacies with the card bank, virtual POS bank, 3D ACS system, etc.). This situation clarifies that 'this is not a feature of our integration model, but rather the continuation of the transaction as Full Secure or Half Secure is a process not controlled by the Payten Payment Gateway.' This distinction may vary according to the rules set by the bank or the card involved. If a business prefers all transactions to be processed strictly as full secure, they are advised to negotiate directly with the relevant banks or to integrate alternative methods of integration that include special security measures. Additionally, the Payten Payment Gateway Auth 3D model fully empowers the member merchant by allowing them to decide and manage whether to proceed with payment based on the response received from the 3D secure system. This method enables the management of the payment aspect in cases other than full secure transactions. This approach will provide clearer guidance to our customers and prevent potential misunderstandings and chargeback disputes related to half secure transactions.

This integration model is based on the scenario that the Payment Page is being hosted by Merchants but its form action is Direct Post to Payten Payment Gateway so that any financially sensitive data will be collected still at the convenience of a merchant hosted page but to be fully compatible with PCI DSS. This will overcome the shortage of the API integration model for the merchants willing 100% compliance with PCI DSS without any additional effort on their side. Please see the flow below for details.

Step 1:

The Merchant Core System makes a Session Token request in order to get a valid key value for defining the session.

Step 2:

The payment session request is processed; a session token is created and sent back to the merchant system in the API response.

Step 3:

Merchant system serves the payment & wallet page using the given secure session token.

Step 4:

Cardholder interacts with the page and clicks on Confirm button. Merchant system submits all information received via this page to Payten Payment Gateway system.

Extra Point Step :

If merchant wants to provide points usage to cardHolders, merchants need to call Query Points with SESSIONTOKEN, CARDPAN,CARDEXPIRY. According to QUERYPOINTS response merchant need to set hidden points parameter in the form. Points parameter format should be json and it differs bank by bank. Merchants needs to encode points value because it is a json format. So please check sale by points payment type examples.

Step 5:

Payten Payment Gateway processes the payment details (and optionally starts 3D authentication process on behalf of the merchant) via an invisible interim page.

Step 6:

Payten Payment Gateway performs MOTO sale (or optionally directs the cardholder to 3D authentication servers).

Step 7:

ACS server serves the 3D authentication page where the cardholder enters a dynamic code sent to his/her mobile phone.

If the 3D result of the transaction is full secure, a dynamic code is sent. If there is a situation or lack of authorization in the card bank, Virtual POS bank, or 3D ACS system that prevents sending a dynamic code, the dynamic code cannot be sent and the transaction is considered as half secure in Virtual POS/3D systems and sent to the Virtual POS bank for payment.

Step 8:

ACS server authenticates the user and returns back to Payten Payment Gateway invisible interim page.*Depending on authentication response, the transaction sent to bank either with full 3D details (if 3D authentication is done successfully) or as MOTO payment (if 3D authentication has failed)

Step 9:

Payten Payment Gateway make return the response to merchant return url

Direct Post 3D Test Form

Pay with Card Data Form

				
<form action="https://test.merchantsafeunipay.com/msu/api/v2/post/sale3d/[SECURE_SESSION_TOKEN]" method="post">
	<input type="text" name="cardOwner" placeholder="Card Owner" maxlength="32" />
	<input type="text" name="pan" placeholder="PAN" maxlength="19" />
	<select name="expiryMonth">
		<option value="01">January</option>
		<option value="02">February</option>
	</select> 
	<select name="expiryYear">
		<option value="2019">2019</option>
		<option value="2020">2020</option>
		<option value="2021">2021</option>
	</select>
	<input type="password" name="cvv" placeholder="CVV" maxlength="4" />
	<input type="checkbox" name="saveCard" />
	<input type="text" name="cardName" placeholder="Card Name"/>
	<input type="text" name="cardCutoffDay" placeholder="Card Cutoff Day"/>
	<input type="text" name="installmentCount" placeholder="Installment Count"/>
	<input type="hidden" name="points" />
	<input type="submit" value="Submit" />
</form>
				
				

Pay with Card Token Form

					
<form action="https://test.merchantsafeunipay.com/msu/api/v2/post/sale3d/[SECURE_SESSION_TOKEN]" method="POST">
	<input name="cardToken" type="text"  placeholder="Card Token"size="20" />
	<input name="cvv" type="text" placeholder="CVV" size="4" />
	<input type="submit" value="Complete Payment"/>
</form>	
					
				

Direct Post Preauth 3D

Note: This model support preauth3d too. If you need preauth for same flow please update form action tag as https://test.merchantsafeunipay.com/msu/api/v2/post/preauth3d/[SECURE_SESSION_TOKEN]

Direct Post 3D Flow



Sample response for Direct Post 3D

					
merchantPaymentId: PaymentId-FVKAjOiFHeuE
apiMerchantId: 700100000
paymentSystem: ISBANK TEST
paymentSystemType: ISBANK
paymentSystemEftCode: 0064
pgTranDate: 20170112 14:13:13
pgTranId: 17012ONNI07013454
pgTranRefId: 701200002832
pgOrderId: PaymentId-FVKAjOiFHeuE
customerId: Customer-u1Q4G1oG
amount: 11.76
installment: 1
sessionToken: VYD7AXJ6C446GIN55V6KKOB677VRTOZHG5HTSMP3EJCMEQYF
random: tpN2ynMYAn
SD_SHA512: 0f2b4945aefc71f547107898c2002c40d9d4a1508f7f00ee894138f6bc247ebc1238ead5aa01b6ba09bc7932a5957235b7837cc0270781d0a45055fe31648b61
sdSha512: 099e32f8df3130457d2b1595b069794ef6ed08c85a679f72336c5371e91087b223536b317fc43643ae0da06ea29e985a3c8185ab611606308760b0c260aa412f
cardBin: 424242
panLast4: 4242
responseCode: 00
responseMsg: Approved
                      
				
 

Direct Post 3D Authentication

The Payten Payment Gateway Direct Post 3D Authentication model is an integration method that allows the member merchant to receive the values returned from the 3D secure system before proceeding with the payment. If the return is anything other than full Secure (i.e., mdstatus other than 1), it empowers the member merchant to decide whether to proceed to the payment step based on their preference.

This integration model is based on the scenario that the process of 3D authentication is finished seperately from the Sale / Preauth API Call. Merchant offers a page where Card Holder enters his/her card data and submits them. This is where the process of 3D authentication starts. Depending on the response given from the authentication process, merchant issues authorization via API.

Step 1:

The Merchant Core System makes a Session Token request in order to get a valid key value for defining the session.

Step 2:

The payment session request is processed; a session token is created and sent back to the merchant system in the API response.

Step 3:

Merchant system serves the payment & wallet page using the given secure session token.

Step 4:

Cardholder interacts with the page and clicks on Submit button. Merchant system submits all information received via this page to Payten Payment Gateway system.

Step 5:

Payten Payment Gateway receives POST request from the merchant's page and directs it to the 3D ACS (Access Control Server) in order to continue with the 3D authentication flow.

Step 6:

ACS serves the 3D Security Page where the Card Holder must enter the correct (dynamic) code sent to his/her mobile phone in order to authenticate.

Step 7:

Payten Payment Gateway handles the response of the 3D Authentication of success or failure.

The merchant is responsible for sending the transaction for payment or not, depending on the 3D response (Full secure / Hall secure) it receives.

Step 8:

The final response of the 3D Authentication process is forwarded to the merchant's page. The merchant is expected to listen and parse the result within the posted form later on issues authorization via API (Sale / Preauth).

3D Authentication Direct Post Test Form


3D Authentication with Card Data Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/post/auth3d/[SECURE_SESSION_TOKEN]" method="post">
	<input type="text" name="cardOwner" placeholder="Card Owner" maxlength="32" />
	<input type="text" name="pan" placeholder="PAN" maxlength="19" />
	<select name="expiryMonth">
		<option value="01">January</option>
		<option value="02">February</option>
	</select> 
	<select name="expiryYear">
		<option value="2019">2019</option>
		<option value="2020">2020</option>
		<option value="2021">2021</option>
	</select>
	<input type="password" name="cvv" placeholder="CVV" maxlength="4" />
	<input type="checkbox" name="saveCard" />
	<input type="text" name="cardName" placeholder="Card Name"/>
	<input type="text" name="cardCutoffDay" placeholder="Card Cutoff Day"/>
	<input type="text" name="installmentCount" placeholder="Installment Count"/>
	<input type="hidden" name="points" />
	<input type="submit" value="Submit" />
</form>
			
		

3D Authentication with Card Token Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/post/auth3d/[SECURE_SESSION_TOKEN]" method="POST">
	<input name="pan" type="text" size="20" />
	<input name="cardOwner" type="text" size="20" />
	<input name="expiryMonth" type="text" size="2"/>
	<input name="expiryYear" type="text" size="4"/>
	<input name="cvv" type="text" size="4"/>
	<input name="cardCutoffDay" type="text" size="2"/>
	<input name="callbackUrl" value="[merchant-return-url-handler]" />
	<input type="submit" value="Complete Payment"/>
</form>

or if the payment will be done with an existing tokenized card 
			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/post/auth3d/[SECURE_SESSION_TOKEN]" method="POST">
	<input name="cardToken" type="text"  placeholder="Card Token"size="20" />
	<input name="cvv" type="text" placeholder="CVV" size="4" />
	<input type="submit" value="Complete Payment"/>
</form>
			
		
Direct Post 3D & 3D Authentication are similar processes. The only difference between them lays in the fact that Direct Post 3D finishes both 3D Authentication & Sale/Preauth in only one step. Regarding 3D Authentication, this process finishes only 3D Authentication. First, the 3D authentication is finished and after that, merchant issues authorization (Sale/Preauth) with the SESSION TOKEN provided with which 3D authentication was initiated.

Direct Post 3D Authentication Flow



Sample response for 3D Authentication (Direct Post)

					
sessionToken: 3URSNNY5C6ZATI656WIPXZXDSTAN3PNGLTXLY75H7FNBA7UJ
auth3DToken: AUTH3DTOKEN
responseCode: 00
responseMsg: Approved
mdStatus: 1
mdErrorMsg: Authenticated
                      
				
 

Alternative Payment Methods

In this section, there are integration models of alternative payment methods supported in Payten Payment Gateway. Each one of them may have different integration flow. Generic steps are:

Step 1:

The Merchant Core System makes a Session Token request in order to get a valid key value for defining the session. It is required to pass additional extra parameter(s) to enable that payment method on default payment page. (Session Token)

Step 2:

The payment session request is processed; a session token is created and sent back to the merchant system in the API response.

Step 3:

Merchant system serves the payment using the given secure session token.

Step 4:

Customer interacts with the page and clicks on Submit button. Merchant system submits all information received via this page to Payten Payment Gateway system.

Step 5:

Payten Payment Gateway receives POST request from the merchant's page and directs it to the external system in order to continue with the payment methods of external payment system.

Step 6:

External payment system serves its dedicated payment page where the customer must provide the correct information in order to authenticate or start payment.

Step 7:

External payment system processes the payment at their side if customer approves or waits for session to expire at external system.

Step 8:

The final response of the external system's process is forwarded to the merchant's page.

Integration forms


GarantiPay Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/sale3d/[SECURE_SESSION_TOKEN]" method="post">
	<input type="hidden" name="paymentSystem" value="[garantipay-payment-system-name]" />
	<input type="submit" value="Submit" />
</form>
			
		

GarantiPay Direct Post Preauth Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/preauth3d/[SECURE_SESSION_TOKEN]" method="POST">
	<input name="paymentSystem" value="[garantipay-payment-system-name]" />
	<input type="submit" value="Complete Payment"/>
</form>

		

BKM Express Direct Post Sale Test Form

			
<form action="https://host/fim/est3dgate" method="post">
	<input type="hidden" name="clientid" value="990000000000001" />
	<input type="hidden" name="storetype" value="3D" />
	<input type="hidden" name="hash" value="iej6cPOjDd4IKqXWQEznXWqLzLI=" />	
	<input type="hidden" name="islemtipi" value="Auth" />
	<input type="hidden" name="amount" value="91.96" />	
	<input type="hidden" name="currency" value="949" />
	<input type="hidden" name="oid" value="1291899411421" />
	<input type="hidden" name="okUrl" value="https://www.teststore.com/success.php" />
	<input type="hidden" name="failUrl" value="https://www.teststore.com/fail.php" />
	<input type="hidden" name="callbackUrl" value="https://www.teststore.com/callback.php" />
	<input type="hidden" name="lang" value="tr" />
	<input type="hidden" name="rnd" value="asdf" />
	<input type="hidden" name="paymentType" value="BKMEXPRESS" />
</form>
			
		

Axess Cuzdan Direct Post Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/axess/payment/[SECURE_SESSION_TOKEN]" method="POST">
	<input type="hidden" name="cardlessPaymentSystem" value="[axess-cuzdan-payment-system-name]" />
	<input type="hidden" name="installmentCount" value="1" />
	<input type="submit" value="Submit"/>
</form>

		

Compay Direct Post Form

			
<form action="payFormSubmitUrl" htmlEscape="true" method="POST">
	<input type="hidden" name="tranType" value="ComPayPayment" />
	<input type="hidden" name="clientId" value="100000000" />
	<input type="hidden" name="acquirerId" value="0" />
	<input type="hidden" name="orderId" value="14558-csd" />
	<input type="hidden" name="amount" value="20" />
	<input type="hidden" name="currency" value="949" />
	<input type="hidden" name="okUrl" value="https://test.compaypayment.com/merchant/app/compayGenericVer3ResponseHandler" />
	<input type="hidden" name="failUrl" value="https://test.compaypayment.com/merchant/app/compayGenericVer3ResponseHandler" />
	<input type="hidden" name="callbackUrl" value="https://test.compaypayment.com/merchant/app/compayGenericVer3ResponseHandler" />
	<input type="hidden" name="lang" value="tr" />
	<input type="hidden" name="rnd" value="4541545" />
	<input type="hidden" name="hashAlgorithm" value="compayPaymentForm.hashAlgorithm" />
	<input type="hidden" name="hash" value="compayPaymentForm.hash" />
</form>

		

Fibabanka Loan Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/FIBABANKA_LOAN" method="post">
	<input type="hidden" name="FIBABANKA_LOAN.productType" value="2" />
	<input type="submit" value="Submit"/>
</form>
			
            
		

Türkiye İş Bankası Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/ISBANK_LOAN" method="post">
	<input type="hidden" name="ISBANK_LOAN.BANKCATEGORY.id" value="59" />
	<input type="hidden" name="ISBANK_LOAN.BANKCATEGORY.name" value="tv" />
	<input type="hidden" name="ISBANK_LOAN.maximum_term" value="0" />
	<input type="submit" value="Submit"/>
</form>
			
		

Garanti Loan Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/GARANTI_LOAN" method="post">
	<input type="hidden" name="GARANTI_LOAN.Category" value="1301-1299-1002" />
	<input type="hidden" name="GARANTI_LOAN.Platform" value="W" />
	<input type="hidden" name="GARANTI_LOAN.Campaign" value="V4" />
	<input type="hidden" name="GARANTI_LOAN.Address" value="Orta yol merkez mah." />
	<input type="submit" value="Submit"/>
</form>
			
		

Ykb Loan Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/YKB_LOAN" method="post">
	<input type="hidden" name="YKB_LOAN.ProductCode" value="1" />
	<input type="submit" value="Submit"/>
</form>
			
            		

Paycell Loan Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/PAYCELL_LOAN" method="post">
	<input type="submit" value="Submit"/>
</form>
			
		

TEB Loan Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/loan/[SECURE_SESSION_TOKEN]/TEB_LOAN" method="post">
	<input type="submit" value="Submit"/>
</form>
			
		


Hepsipay Direct Post Sale Test Form

			
<form action="https://test.merchantsafeunipay.com/msu/api/v2/proxy/[SECURE_SESSION_TOKEN]/HEPSIPAY" method="post">
	<input type="submit" value="Submit"/>
</form>
			
		


Loan Integration

Garanti Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. The loan amount will be received from AMOUNT parameter of SESSIONTOKEN.

			
{
  "GARANTI_LOAN": "YES",
  "GARANTI_LOAN.Category": "1301-1299-1002",
  "GARANTI_LOAN.Platform": "W",
  "GARANTI_LOAN.Campaign": "V4",
  "GARANTI_LOAN.Address": "Orta yol merkez mah."
}
			
		

Fibabank Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. The loan amount will be received from AMOUNT parameter of SESSIONTOKEN. In case there is more than one product in the basket, all products defined for the company are forwarded to the company with their terms (maturity) and baskettype values. The company finds the baskettype and term (maturity) information on a singular basis for the products added to the basket. Then, the one with the lowest term (maturity) is determined and a link is created with the relevant baskettype.

			
{
  "FIBABANKA_LOAN": "YES",
  "FIBABANKA_LOAN.productType": "5",
}
			
		

Türkiye İş Bankası Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. The loan amount will be received from AMOUNT parameter of SESSIONTOKEN. And code(bankcategory Id), name(Items Name), description (bankcategory Name), quantity and amount (unit) will be received from ORDERITEMS in SESSIONTOKEN.

			
{
	"ISBANK_LOAN":"YES",
	"ISBANK_LOAN.maximum_term":"",
    "ISBANK_LOAN.Branch":"2747",
	"ISBANK_LOAN.ORDERITEMS":[{"code":"0","name":"Deposit Balance","description":"Player deposit balance","quantity":"1","amount":7002}]
}
		
		

YKB Alışveriş Kredisi Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. The loan amount will be received from AMOUNT parameter of SESSIONTOKEN.

			
{
	"YKB_LOAN":"YES",
	"YKB_LOAN.ProductCode":"1",
}
 		
            
		

Paycell Alışveriş Kredisi Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. Note: When you make Direct Post merchantPaymentId must be the same that you have used for ProxyInstallment to get approved Transaction

			
{
     // Add those parameters from PROXYINSTALLMENTS when you make direct post
    "PAYCELL_LOAN.preApprovedApplicationId": "21313",
    "PAYCELL_LOAN.totalTerm": 3,
    "PAYCELL_LOAN.type": "CONSUMER_LOAN",
     // End of PROXYINSTALLMENTS parameters
     // Use those parameter as extra for ProxyInstallment and Direct Post
    "PAYCELL_LOAN": "YES",
    "PAYCELL_LOAN.nationalIdentityNumber": "28928374676",
    "PAYCELL_LOAN.msisdn": "5389837237",
    "PAYCELL_LOAN.Birthdate": "1966-01-01",
    "PAYCELL_LOAN.ItemsPrice": "8000",
    "PAYCELL_LOAN.ShippingPrice": "0",
    "PAYCELL_LOAN.TotalPrice": "8000",
    "PAYCELL_LOAN.ORDERITEMS": [
        {
            "Name": "name",
            "BankCategory-Id": "1",
            "BankCategory-Name": "bankcatName",
            "Category-Id": "3719",
            "Category-Name": "catName",
            "Category-Hierachy": "catHie",
            "Brand-Id": "1617",
            "Brand-Name": "brandName",
            "Quantity": "1",
            "Price": "8000",
            "PriceWithoutDiscounts": "8000",
            "TotalPrice": "8000",
            "TotalPriceWithoutDiscounts": "8000"
        }
    ]
    // End of Extra Parameter of ProxyInstallment and Direct Post
}
 		
		

TEB Alışveriş Kredisi Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. Note: When you make Direct Post merchantPaymentId must be the same that you have used for ProxyInstallment to get approved Transaction

			
{
     // Add those parameters from PROXYINSTALLMENTS when you make direct post
    "TEB_LOAN.preApprovedApplicationId": "21313",
    "TEB_LOAN.totalTerm": 3,
    "TEB_LOAN.type": "CONSUMER_LOAN",
     // End of PROXYINSTALLMENTS parameters
     // Use those parameter as extra for ProxyInstallment and Direct Post
    "TEB_LOAN": "YES",
    "TEB_LOAN.nationalId": "28928374676",
    "TEB_LOAN.phoneNumber": "5389837237",
    "TEB_LOAN.campaignCode": "1",
    "TEB_LOAN.items": [
        {
            "name": "name",
            "bankCategoryId": "1",
            "bankCategoryName": "bankcatName",
            "price": "8000",
        }
    ],
    "TEB_LOAN.sessionId": "sessionId"
    // End of Extra Parameter of ProxyInstallment and Direct Post
}
 		
		

Kuveyt Türk Loan

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. While getting sessiontoken; if "KUVEYTTURK_LOAN" is sent as "YES", then the merchant should send also all below KUVEYTTURK_LOAN parameters as well.

			
{
  "KUVEYTTURK_LOAN": "YES",
  "KUVEYTTURK_LOAN.softDescriptor": "Finansman islem bilgisi",
  "KUVEYTTURK_LOAN.commissionAmount": "0",
  "KUVEYTTURK_LOAN.orderItemCount": "2",
  "KUVEYTTURK_LOAN.channel": "MM",
  "KUVEYTTURK_LOAN.ORDERITEMS": [
    {
      "unitPrice": "1500",
      "count": "1",
      "categoryCode": "1101"
    },
    {
      "unitPrice": "500",
      "count": "1",
      "categoryCode": "1101"
    }
  ]
}

		
		


Transfer Integration

Türkiye İş Bankası Transfer

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. The transfer amount will be received from AMOUNT parameter of SESSIONTOKEN.

			
{
	"ISBANK_TRANSFER":"YES",
	"ISBANK_TRANSFER.QUANTITY":"2"
}
		
		

Kuveyt Türk Transfer

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment. While getting sessiontoken; if "KUVEYTTURK_TRANSFER" is sent as "YES", then the merchant should send also all below KUVEYTTURK_TRANSFER parameters as well.

			
{
  "KUVEYTTURK_TRANSFER": "YES",
  "KUVEYTTURK_TRANSFER.softDescriptor": "Finansman islem bilgisi",
  "KUVEYTTURK_TRANSFER.commissionAmount": "0",
  "KUVEYTTURK_TRANSFER.orderItemCount": "2",
  "KUVEYTTURK_TRANSFER.channel": "MM",
  "KUVEYTTURK_TRANSFER.ORDERITEMS": [
    {
      "unitPrice": "1500",
      "count": "1",
      "categoryCode": "1101"
    },
    {
      "unitPrice": "500",
      "count": "1",
      "categoryCode": "1101"
    }
  ]
}

		
		


Other Proxies Integration

Hepsipay

The parameters below should be sent on EXTRA of SESSIONTOKEN request in order to proceed with the payment.

			
{
    "HepsiPay.Enabled": "YES",
    "HepsiPay.AccountKey": "905358130844",
    "HepsiPay.OrderItems": [
        {
            "Product": "�ikolata",
            "Price": "10000",
            "CategoryId": "3",
            "ExternalId": "10"
        }
    ],
    "HepsiPay.IsGuestUser": false,
    "HepsiPay.Force3ds": false,
    "HepsiPay.MerchantLinkRelationType": 2,
    "HepsiPay.MerchantLinkRelationValue": "batuhan.gungor@hepsiburada.com",
    "HepsiPay.AllowedInstallments": [
        1,
        2,
        3
    ],
    "HepsiPay.MerchantOrderNumber": "Payment-123123"
}
		
		

Alternative Payment Methods Flow



 

Client Side Encryption(CSE)

 

Introduction

Client Side Encryption is a way to encrypt customer sensitive information in the browser, before card data passes any other medium(i.e. merchant server). The model is suitable for merchants wanting to do API SALE/PREAUTH from their servers, because card data will pass encrypted on merchant server, this way avoiding the responsibility of "hosting" any card data on merchant side.

How it works

Merchant must include cse-sdk-js on their payment page. In order to include the sdk in the page, a valid non-expired session token must exist. The steps should be like this:

  • Create a Payten Payment Gateway Session Token server side with payment amount and necessary payment information. Make it available on the client
  • Include the SDK in the page
    							
    <script type="text/javascript" src="[host]/msu/sdk/{sessionToken}/cse-sdk.js"></script>   
    							
    						
  • After user has filled first 6 digits of pan, you can issue a SHOULDDO3D API Call to determine the next steps
  • Customer has filled card data and clicks pay. If SHOULDDO3D returned YES, then no CSE is needed as customer sensitive information will pass from Browser directly to Payten Payment Gateway Servers via the Auth 3D flow. One of request parameters of the Auth 3D flow is callbackUrl which is an endpoint on merchant side that will receive the final 3D response, including auth3DToken if 3d authentication was successful. At this point you can call API SALE with the auth3DToken
  • If SHOULDDO3D returns NO or OPTIONAL, you may skip the 3D Journey and intercept main payment form by encrypting the data using the CSE SDK Payment With New Card
    						
    //data is some container/collector of card and customer information
    msu.client.encrypt(data.pan, data.cardHolderName, data.expiryMonth, data.expiryYear, data.cvv, data.nonce)
    	.then(encryptedData => {
        	// create a form or append to an existing one
        	//paymentPage.appendFormInput("hidden", "encryptedData", encryptedData);
        	form.submit();
    });
    						
    					
    Payment with existing card/wallet
    						
    //data is some container/collector of card and customer information
    msu.client.encrypt(data.pan, data.cardHolderName, data.expiryMonth, data.expiryYear, data.cvv, data.nonce)
    	.then(encryptedData => {
    		// create a form or append to an existing one
        	//paymentPage.appendFormInput("hidden", "encryptedData", encryptedData);
        	form.submit();
    });
    						
    					
    You must not include "name" in the original form inputs where pan/name/expiry/cvv is entered by customer otherwise they will be sent plain on your server, beating the whole purpose of CSE!
  • Encrypt Pan is a way to encrypt card sensitive information in the browser, before card data passes any other medium(i.e. merchant server). The model is suitable for merchants wanting to do API QUERYCARD/QUERYTRANSACTION from their servers, because card data will pass encrypted on merchant server, this way avoiding the responsibility of "hosting" any card data on merchant side.
    						
    //data is some container/collector of card and customer information
    msu.client.encryptPan(data.pan, data.nonce)
    	.then(encryptedData => {
        	// create a form or append to an existing one
        	//paymentPage.appendFormInput("hidden", "encryptedData", encryptedData);
        	form.submit();
    });
    						
    					

 

CSE Interactive Form

Below you can find a Sandbox form to test the CSE Flow


 

CSE SDK API Information

Make sure you have included the SDK with the script tag

	
<script type="text/javascript" src="[host]/msu/sdk/{sessionToken}/cse-sdk.js"></script>   
	
A global "msu.client" variable will become available after including it. Available public methods:
  • encrypt(pan, cardHolderName, expiryMonth, expiryYear, cvv, nonce): Promise - for new cards
  • encrypt(cvv, nonce): Promise - for wallet cards
  • encryptPan(pan, nonce): Promise - for pan
  • isValidCardHolderName(name): Boolean
  • isValidPan(pan): Boolean
  • isValidExpiry(expiryMonth, expiryYear): Boolean
  • detectBrand(bin): String(possible return values: visa | mastercard | american-express | diners-club | discover | jcb | troy | dinacard)
  • hasErrors(): Boolean
  • errors(): Array (possible return values: PAN_INVALID | CVV_INVALID | EXPIRY_INVALID | CARD_HOLDER_NAME_INVALID | NONCE_MISSING_OR_INVALID

The SDK does not do any message translation. If an error is thrown, it means client code must handle it. If you're calling encrypt(..) without input validation, validation errors will be collected and they can be accessed with errors(). (See also hasErrors())

Public key used for encryption is also accessible from this endpoint: [host]/msu/cse/publickey

Public key query response:
				
{"publicKey":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmbpnmYLKGZe3OAE5CYlvxihoEHoEe1z9istlqD4jYP7ntpIIwIU5ZkG7oJb7D3XrrW3wS6nQW8GfNyJJazCQ3mL9rb+wCT45L+hYQcueQ4sq8QyY8nGqrIsVx5kdMwrI5gPRdRumu8MQeyaDI46NsAIHvuem8Aq2xOlnLiG2MNeWlMAKwGwxm+aPnSS2dqG5nunj75Lp8iAYvKRz8VhbbhJbNEyZd73XYG7IF0VbjnlB44GVPkxIkUt6RD5MBBZEMqFL60cBsVHu5rhpt6Y3h4S6SdXdLu6TcYzAlrMx1ZgHR53Ee3yrkjpVjIT26YOfroeniQgZuOAOplaCKBloYQIDAQAB"}
				
			
 

CSE SDK DEMO PAGE

Client Side Encryption is a way to encrypt customer sensitive information in the browser, before card data passes any other medium(i.e. merchant server). The model is suitable for merchants wanting to do API SALE/PREAUTH from their servers, because card data will pass encrypted on merchant server, this way avoiding the responsibility of "hosting" any card data on merchant side.



Demo Encryption Panel


 

CSE SDK PAN ENCRYPT DEMO

Client Side Pan Encryption is a way to encrypt customer card pan information in the browser, before card pan passes any other medium(i.e. merchant server). The model is suitable for merchants wanting to do API QUERYCARD/QUERYTRANSACTION from their servers, because card pan will pass encrypted on merchant server, this way avoiding the responsibility of "hosting" any card pan on merchant side.



Demo PAN Encryption Panel


 

Error Handling

If a request results in an error the error and errorCode parameters will be present in the response. Generally, there are two types of errors that can occur: core errors and payment gateway originating errors.

 

Core Errors

Core errors occur mostly because of invalid parameter values. These errors have the following code format: ERR100xx.

Error Code Description
ERR10010 İstekte zorunlu parametrelerden biri bulunamadı
ERR10011 Aynı parametre bir defadan fazla olarak gönderilmiş
ERR10012 Maksimum büyüklük değeri aşıldı
ERR10013 Geçersiz veri tipi
ERR10014 Geçersiz güvenlik algoritması
ERR10015 Geçersiz üye iş yeri bilgisi
ERR10016 Geçersiz tutar bilgisi
ERR10017 Geçersiz para birimi
ERR10018 Geçersiz dil seçimi
ERR10019 Genel hata
ERR10020 Geçersiz kullanıcı bilgileri
ERR10021 Boş parametre belirtilmiş, tüm parametreleri kontrol edin
ERR10022 Sipariş edilen ürünlerin toplam tutarı gerçek tutarla örtüşmüyor
ERR10023 Ödeme tutarı hesaplanan tutarla örtüşmüyor
ERR10024 Geçersiz vergi tutarı belirtilmiş
ERR10025 Belirtilen durumda vergi tutarı sıfır olmalıdır
ERR10026 Geçersiz entegrasyon modeli belirtilmiş
ERR10027 Geçersiz kart bilgisi (TOKEN) belirtilmiş
ERR10028 Belirtilen ödeme sistemi (sanal POS) bulunamadı
ERR10029 Belirtilen ödeme tipi (kampanya) bulunamadı
ERR10030 Belirtilen işlem bulunamadı
ERR10031 Bu işlem iade edilemez
ERR10032 Geçersiz iade tutarı belirtilmiş ya da bu işlem daha önce iade edilmiş
ERR10033 Bu işlem iptal edilemez
ERR10034 Belirtilen ödeme bulunamadı
ERR10035 Bu işlem için ön otorizasyon kaydı bulunmamaktadır
ERR10036 Tutar, orijinal istek tutarından daha büyük olamaz.
ERR10037 Belirtilen Kart Sahibi (Müşteri) kayıtlı değil
ERR10038 İlgili ödeme onay beklemektedir
ERR10039 Geçersiz ödeme durumu belirtilmiş
ERR10040 Geçersiz alt işlem (SUBACTION) belirtilmiş
ERR10041 Belirtilen kart daha önce eklenmiş
ERR10042 Kart daha önceden silinmiş
ERR10043 Geçersiz zaman aralığı belirtilmiş
ERR10044 Geçersiz tarih formatı belirtilmiş
ERR10045 Belirtilen kart numarası geçersizdir
ERR10046 Belirtilen kredi kartı geçerlilik tarihi geçersizdir
ERR10047 Kullanıcının API servislerini kullanma yetkisi bulunmamaktadır
ERR10048 Başarılı Bir İşlem zaten bu üye iş yeri sipariş numarası ile var
ERR10049 Ödeme, bu ödeme sistemi ile yapılamamaktadır.
ERR10050 Geçersiz HASH değeri
ERR10051 Herhangi bir ödeme sistemi (sanal pos) tanımı yok. Lütfen, kontrol ediniz.
ERR10052 Desteklenmeyen para birimi:
ERR10053 Kullanıcının bu üye iş yeri üzerinde işlem yapma yetkisi yok
ERR10054 Ödeme geçerlilik süresi maksimum limitin üstündedir.
ERR10055 Ödeme geçerlilik süresi minimum limitin altındadır.
ERR10056 Geçersiz API isteği belirtilmiş
ERR10057 Bayi Tipi sadece bir Ödeme Sistemi (Sanal POS) tipi ile ilişkilendirilebilir.
ERR10058 CARDTOKEN ve CURRENTCUSTOMERID parametreleri bir arada gönderilemez.
ERR10059 Bu müşteri no ile kayıtlı bir müşteri mevcuttur.
ERR10060 Geçersiz IP Adresi
ERR10062 Ondalık sayı parametresi sıfırdan küçük olamaz.
ERR10063 Üye işyeri ödeme sayfası ayarları zaten mevcut.
ERR10064 Üye işyeri ödeme sayfası ayarları bulunamadı.
ERR10065 Inconsistent installment information (KobiKart)
ERR10066 Belirtilen zaman bilgisi geçersiz ya da tutarsızdır
ERR10067 Invalid or Missing EXTRA parameter value
ERR10068 Geçersiz tekrar düzeni parametresi
ERR10069 Eşleniksiz iade sadece Finans ve İş Bankası ödeme sistemleri için desteklenmektedir.
ERR10070 Başlangı tarihi gelecekteki bir tarih olmalıdır
ERR10071 Geçersiz tekrarlı ödeme durum parametresi belirtilmiş
ERR10072 Harici iade, seçilen ödeme sistemi tarafından desteklenmemektedir
ERR10073 SaveCard ve ForceSave özellikleri birarada kullanılamaz.
ERR10074 Bu müşteri no ile kayıtlı bir müşteri mevcuttur.
ERR10075 Üye iş yeri görsel (logo) bilgisi hatalı
ERR10076 Geçersiz tekrarlı ödeme durum parametresi
ERR10077 Geçersiz şablon
ERR10078 İşlem kilitlidir
ERR10079 Bu kart markasını destekleyen bir ödeme sistemi bulunmamaktadır. Lütfen başka kart markası ile tekrar deneyin.
ERR10080 Lütfen, Üye İş Yeri Sipariş numarasını veya Ödeme Oturumu(Token) veriniz
ERR10081 Geçersiz işlem durumu
ERR10082 API kullanıcısının bu işlem için yetkisi yoktur.
ERR10083 Geçersiz Statü
ERR10084 Faiz veya indirim oranı sıfır değeri olmalıdır
ERR10085 Başlangıç tarihi, bitiş tarihten daha büyük olamaz.
ERR10086 Geçerli bitiş tarihi şimdiki tarihten daha büyük olmalıdır
ERR10087 Taksit sayı numarası zaten bu ödeme sistemi ile bir ödeme tipi var
ERR10088 Geçersiz taksit sayısı
ERR10089 Geçersiz nonce
ERR10090 İşlem Başarısız
ERR10091 Ödeme sistemi devre dışı bırakıldığı için işlem gerçekleştiremiyor. Lütfen Üye İş Yeri Süper Yöneticisiyle iletişime geçiniz
ERR10092 Geçersiz Offset Değeri
ERR10093 Geçersiz Limit
ERR10094 Tanımlı bir kart bulunamadı.
ERR10095 Kayıtlı bulunan tekrarlayan ödeme planlarından dolayı kart silinemez.
ERR10096 Geçersiz oturum (session) bilgisi.
ERR10097 Sonlandırılmış oturum (session) bilgisi.
ERR10098 Bu oturum anahtarının yapılmak istenen işleme yetkisi yoktur.
ERR10099 Ödeme sisteminden alınan 3D cevabı değiştirilmiş veya yanlış 3D anahtarı
ERR10100 Bu ödeme için birden fazla başarılı işlem vardır, lütfen PGTRANID parametresini kullanınız.
ERR10101 Lütfen POST istegini method body içerisinde gönderiniz. Query String içerisinde gönderilen parametreler güvenli değildir.
ERR10102 Geçersiz BIN değeri
ERR10103 İşlem isteği Inact RT servisi tarafından raporlanan fraud olasılığı nedeniyle reddedilmiştir.
ERR10104 Geçersiz kart bilgisi
ERR10106 Bu işlem 3D doğrulama ile gerçekleştirilemiyor.
ERR10107 Kullanilan ödeme sistemi kampanya kodunu desteklememektedir.
ERR10108 Puan kullanimi ödeme sistemi tarafindan desteklenmemektedir
ERR10109 This merchantpaymentId is used before and its session expired please use different merchantPaymentId
ERR10110 İstek ile mevcut sipariş numarasına ait oturumun tutar,kur,oturum tipi, url değeri ya da yapılmak istenen işlem değerlerinden biri uyuşmamaktadır
ERR10111 Puan sorgusu bu ödeme sistemi tarafından desteklenmemektedir
ERR10112 Puan json formatı geçersiz
ERR10113 Tekrarlı ödeme bulunamadı
ERR10114 Tekrarlı ödeme plan statüsü COMPLETED değiştirilemez
ERR10115 Tekrar sayısı 1 ile 99 arasında olmalıdır
ERR10116 Tekrarlı ödeme plan kodu mevcuttur
ERR10117 Ön otorizasyon yapan cüzdan oturumları sipariş numarası barındırmamalıdır
ERR10118 Geçersiz ticari kod parametresi
ERR10119 Ödeme sistemi puan parametresi hatalı, işlemin gönderileceği ödeme sisteminde gönderilen puan parametresi tanımlı değildir.
ERR10120 Puan değeri boş olamaz
ERR10121 Parçalı puan kullanımı bu ödeme sistemi tarafından desteklenmemektedir
ERR10122 3D doğrulama için Yasaklı BIN bilgileri
ERR10123 Aranan BKM İşlemi bulunamadı
ERR10124 Belirtilen tokena ait işlem bulundu.
ERR10125 İstenen işlem güncellenemez.
ERR10126 Payment System Type or EFT code is required if bin is not given
ERR10127 Geçersiz extra parametre değeri belirtilmiş
ERR10128 Tekrarlayan ödeme planı bir veya daha fazla işlenmiş işlem vardır bundan dolayı silinemez.
ERR10129 Ödeme Sistemi Güncelleme Edilemedi
ERR10130 Ödeme sistemi için verilen isim kullanımdadır
ERR10131 Ödeme sistem tipi mevcuttur
ERR10132 Bağlantı Hatası / Hatalı Veriler
ERR10133 Bu öğe kullanım dışı bırakılmıştır. Kullanım dışı bırakılmış öğeler güncellenemez.
ERR10134 Ödeme sistemi kullanım dışı olduğundan varsayılan olarak kabul edilemez. Lütfen önce etkinleştiriniz.
ERR10135 Varsayılan olarak işaretlenmiş bir ödeme sistemini kullanım dışı bırakamazsınız. Lütfen önce başka bir ödeme sistemini varsayılan olarak işaretleyiniz.
ERR10136 Uyumsuz İstek Parametresi
ERR10137 ÖDENMİŞ veya İPTAL EDİLMİŞ ödeme.
ERR10138 Müşteri bulunamadı
ERR10139 Kimlik numarası 11 rakam içermelidir
ERR10140 Kampanya sorgusu kullanılan ödeme sistemi tarafından desteklenmemektedir.
ERR10141 Geçersiz Etiketler Formatı.
ERR10142 Tekrar tutarlarının toplamı, tekrarlı ödeme planı toplam tutarına eşit değil.
ERR10143 Tekrarlı ödeme - kart ilişkisi bulunamadı
ERR10144 Geçersiz kampanya formatı.
ERR10145 Tekrarlayan Ödeme Durumu sadece Manually Paid güncellenebilir
ERR10146 Tekrarlayan Ödeme Durumu güncellenemez
ERR10147 Tekrarlayan Ödeme bulunamadı
ERR10148 Tekrarlayan plan durumu yalnızca Aktif veya Inaktif (Pasif) olabilir
ERR10149 Tekrarlanan Planın kartları yoksa aktif edilemez
ERR10150 Tekrarlı Ödeme Planı ya da herhangi bir Tekrarlı Ödeme bilgisini güncelleyebilmek için öncelikle Tekrarlı Ödeme Plan durumunu güncellemeniz gerekmektedir
ERR10151 İstek işlem kurallarına uygun değil.
ERR10152 Uygulanacak kart tipi seçimi yapılmalıdır
ERR10153 Tekrar tutarı sıfırdan büyük olmalıdır
ERR10154 Bu işlem 3D doğrulama kullanılmadan yapılamaz
ERR10155 Merchant can be enabled or disabled just by system users.
ERR10156 Belirtilen Ödeme Kuralı bulunamadı
ERR10157 Belirtilen bayi bulunamadı
ERR10158 Bu kod bilgisine sahip bir bayi hali hazırda bulunmaktadır.
ERR10159 Bayi deaktive durumdadir. Bu işlem yapılamaz.
ERR10160 üye iş yeri kullanıcısı bulunamadı.
ERR10161 Onay bekleyen bir işlem bulunmaktadır.
ERR10162 Sadece Satış Temsilcisi rolündeki kullanıcılar veya Bayi Süper kullanıcıları bayi ile ilişkilendirilebilir.
ERR10163 Geçersiz alt durum
ERR10164 Kullanıcının otomatik işlem yapma yetkisi yoktur.
ERR10165 Girdiğiniz bayi tipi adı önceden tanımlanmıştır.
ERR10166 Belirtilen bayi tipi bulunamadı
ERR10167 Bu bayi tipi tanımlı bir bayi tarafından kullanılmaktadır. Bayi ilişkisi kaldırılmadı sürece silinemez.
ERR10168 Bayi Ödeme Tipi belirtilen ödeme tipi ve bayi kodu ile bulunamamıştır.
ERR10169 Üye iş yeri e-posta adresi tanımlı.
ERR10170 Bayi ödeme tipi bu ödeme tipi ve bayi için tanımlıdır.
ERR10171 Bu ödeme sistemi belirtilen üye iş yeri için tanımlı değildir.
ERR10172 Üye iş yeri için belirtilen içerikte bir ödeme kuralı zaten mevcut.
ERR10173 Bu parametrenin değeri 0.00 ile 99.99 arasında bir değer olmalıdır.
ERR10174 Geçersiz işlem kuralları listesi
ERR10175 Bu ödeme için abonelikler boş olarak gönderilemez. Lütfen kontrol ediniz.
ERR10176 Üzgünüz, bu kullanıcıya ait rol bilgisini daha als seviye bir rol olarak değiştiremezsiniz!
ERR10177 Kullanıcı güncelleme edilemedi
ERR10178 Yeni şifreleriniz birbirini tutmaktadır. Lütfen yeni şifrenizi her iki alana da doğru olarak giriniz.
ERR10179 Mesaj içeriği bulunamadı
ERR10180 Şifreniz en az 1 büyük harf, 1 küçük harf, 1 sayı ve 1 sembol içermeli ve en az 12 karakter uzunluğunda olmalıdır.
ERR10181 Bu çağrı için PGTRANIDTOREFUND parametresi boş olamaz.
ERR10182 Bu tip ve dilde mesaj içeriği zaten mevcut.
ERR10183 Bu fatura bilgisi belirtilen bayi ve üye iş yeri için zaten var
ERR10184 Fatura bulunamadı
ERR10185 Bu fatura başarılı olarak ödenmiş ve silinemez ve güncellenemez.
ERR10187 Faturalar sadece bayiler için tanımlanabilir.
ERR10188 Faturaya dair ödenecek tutardır, Orijinal tutardan fazla olamaz.
ERR10189 Fatura ödeme tarihi, fatura düzenlenme tarihinden daha sonra olmalıdır.
ERR10190 Ödeme Sistemi Kuralı Zaten Mevcut
ERR10191 Kullanıcı bulunamadı
ERR10192 Kullanıcı hesabı aktif değil
ERR10193 Kullanıcı hesabı kilitli
ERR10194 Şifreyi yeniden oluşturmak için token bilgisi yok ya da süresi dolmuş
ERR10195 Geçersiz kullanıcı adı ve/veya şifre
ERR10196 IP adresi sistemde tanımlı izin verilen IP adresleri listesinde bulunamadı
ERR10197 Bu kart zaten başka bir müşteri için kaydedildi.
ERR10198 Bu kart tipi eklenemez. Lütfen başka bir kart ekleyiniz.
ERR10199 İşlem tipi bu ödeme sistemi tarafından desteklenmiyor.
ERR10200 Beklenemedik ödeme sistemi entegrasyonu hatası
ERR10201 İletilen bayi ve/veya alt bayi kodu uyumlu değildir, lütfen kontrol ediniz.
ERR10202 VKN 9 rakam içermelidir.
ERR10203 ENDATE, STARTDATE'e eşit veya büyük olmalıdır.
ERR10204 Bu değerler ile Bayi Komisyon Oranı zaten mevcut.
ERR10205 Bayi Komisyon Oranı bulunamadı.
ERR10206 Kurallar yalnızca SubDealers için eklenebilir, Ana Bayiyi kontrol edin
ERR10207 Kurallar kodu çözülemez(decoded), kodlanmış RULE parametresini kontrol edin
ERR10208 Ana Bayı Kuralları aşıldı
ERR10209 Ticari kod için maksimum taksit sayısı aşıldı.
ERR10210 Varsayılan Alt bayi tipi silinemez. Lütfen öncelikle yeni bir Alt bayi tipi tanımlayınız.
ERR10211 Parçalı Ödeme Kodu Mevcut
ERR10212 Geçersiz Şehir ID
ERR10213 Lütfen bir varsayılan ödeme sistemi (sanal pos) olduğundan emin olun.
ERR10214 Üye İş Yeri için Ödeme Sistemi (VPOS) tipi ve adı mevcut
ERR10215 DEALERTYPENAME çoklu ödeme sistemi eklendiğinde kullanılır
ERR10216 Bilinmeyen CVV extra parametresi, parametre YES veya NO olabilir
ERR10217 Parçalı iptal işlemi bu ödeme sistemi tarafından desteklememektedir.
ERR10218 Parçalı iptal bu işlem tipi için desteklenmemektedir.
ERR10219 Geçersiz iptal tutarı
ERR10220 There is a active BIN rule with the same name
ERR10221 BIN rule not found for the merchant
ERR10222 Bu alanlardan biri sağlanmalı (Kart Ağı, Kart Tipi, Kart Markası, Ülke, Kart Bankası)
ERR10223 Bir BIN Kurali ile farkli isim, ancak aynı parametrelere zaten tanımlanmış
ERR10224 Maksimum taksit sayısı aşıldı.
ERR10225 Country Code ve Foreign parametreleri aynı anda gönderilemez.
ERR10226 Özel alan grubu bulanamadı
ERR10227 Aynı isimle özel alan grubu zaten mevcut
ERR10228 Özel Alan Geçerlilikleri Alanı Geçersiz
ERR10229 Özel alan zaten mevcut
ERR10230 Özel alan bulunamadı
ERR10231 Geçersiz Özelleştirilen Alan
ERR10232 Özelleştirilen Alan Zorunlu
ERR10233 Bu işlemi gerçekleştirmek için özelleştirilen alan yönetimi özelliği gereklidir.
ERR10234 Geçersiz kart hesap kesim günü
ERR10235 E-posta zaten sistemde başka bir kullanıcı için kayıtlıdır.
ERR10236 Ödeme Sistemi Kuralı Bulunamadı
ERR10237 İlişkili Ödeme Sistemi bulunamadı
ERR10238 Bu işlem için Ödeme Sistemi Paylaşım Yönetimi özelliğine sahip olmak gerekmektedir.
ERR10239 Geçersiz ayarlar parametresi
ERR10240 Mutabakat şeması mevcut değil
ERR10241 Mutabakat şeması zaten var
ERR10242 Kullanıcı tanımlı ya da aktif değil. Lütfen kullanıcı bilgisini kontrol edin.
ERR10243 USER parametresi sizin üye iş yeriniz icin kullanilamaz.
ERR10244 Belirtilen tarih aralığını kapsayan bir şema bulunmaktadır. Lütfen başka bir aralık giriniz.
ERR10245 Kullanımda olan mutabakat şemasını düzenleyemezsiniz.
ERR10246 CARDPAN hatalı format.
ERR10247 NAMEONCARD, CARDEXPIRY ve CARDPANCVV parametrelerini CARDPANTYPE parametresi ile aynı anda kullanamazsınız.
ERR10248 CARDPANTYPE parametresi CARDTOKEN parametresi ile aynı anda kullanamazsınız.
ERR10249 SAVECARD parametresini CARDPANTYPE parametresi ile aynı anda kullanamazsınız.
ERR10250 CARDPANTYPE parametresini INSURANCE olarak kullanma yetkiniz yok.
ERR10251 CARDPANTYPE parametresiyle 3D Satışa izin verilmiyor.
ERR10252 Satıcı banka başına birden fazla hesabı desteklemez
ERR10253 Aktivasyon tarihi bugünün gece yarısından büyük ya da eşit olmalıdır.
ERR10254 Bitiş tarihi bugünün gece yarısından büyük ya da eşit olmalıdır.
ERR10255 Bitiş tarihi aktivasyon tarihinden büyük olmalıdır.
ERR10256 Ön otorizasyon bu kart pan tipi için ödeme sistemi tarafından desteklenmemektedir.
ERR10257 Identity ve HostSubMerchantId parametreleri aynı anda kullanılamaz.
ERR10258 Idendity alanı 10 veya 11 hane olmalıdır.
ERR10259 Geçersiz Merchant Payment ID
ERR10260 Üye İş Yeri bu özelliği desteklemiyor.
ERR10261 Faturalarda ön kimlik kullanımına izin verilmiyor
ERR10262 INVOICEID'nin ön kimlik doğrulamalı faturalarla kullanılmasına izin verilmiyor
ERR10263 Üye İş Yeri Harici Kimlik Doğrulama seçeneğini desteklemiyor.
ERR10264 Harici kullanıcı, API Kullanıcısı olarak kullanılamaz.
ERR10265 Harici kullanıcı zaten var.
ERR10266 Harici kullanıcı mevcut değil.
ERR10267 Bu API Eylemi, Harici Kimlik Doğrulama seçeneğiyle kullanılamaz.
ERR10268 Bu konum kimliğine sahip konum zaten mevcut
ERR10269 ERR10269
ERR10270 ERR10270
ERR10271 Bu konum kimliğine sahip konum bulunamadı
ERR10272 Bu konum kimliğine ve bayi koduna sahip Bayi Konumu zaten mevcut
ERR10273 Bu konum kimliğine ve bayi koduna sahip Bayi Konumu bulunamadı
ERR10274 Bayi iş kolu zaten var
ERR10275 Bayi iş kolu mevcut değil
ERR10276 Uyumsuz MAC.
ERR10277 Fatura silinemedi
ERR10278 İptal edilen fatura ödemede kullanılamaz
ERR10279 Ödeme sistemi grup data bilgilerini sahip olmadığı için MERCHANTGROUPID parametresini kullanamazsınız.
ERR10280 Ödeme planı sorgusu ödeme sistemi tarafindan desteklenmemektedir.
ERR10281 Tanım ve Kimlik Vergi Numarası ekstra parametreleri gereklidir
ERR10282 ERR10282
ERR10283 Ödeme tutarı, bu kullanıcı için izin verilen maksimum tutarı aşıyor
ERR10284 BIN bazlı kural sebebiyle ödemeye izin verilmedi
ERR10285 Kart kaydedilemedi.
ERR10286 Bu işlem için pgTranId parametresine izin verilmiyor. Lütfen bunun yerine MERCHANTPAYMENTID parametresini sağlayın.
ERR10287 İşleme izin verilmedi. Üye işyerinin seçilen ödeme sistemi için bir mütabakat şeması bulunmamaktadır.
ERR10288 Payment type maturity exist for this payment system with the additional maturity given
ERR10289 Additional maturity can not be bigger than maximum installment count
ERR10290 INVOICETYPE parametre değeri ile EXTRA'daki Preauth değeri uyuşmuyor
ERR10291 Tutar, acquire (kazanım) minimum tutardan düşük olmamalıdır.
ERR10292 JWT oluşturulamadı
ERR10293 Yabancı kart numarası ile işlem yapılamaz.
ERR10294 BIN kuralı tipi ile çoklu ödeme sistemi hesabı olan üye iş yeri için bir ödeme sistemi bulunamadı.
ERR10295 PAYMENTSYSTEMPOOL formatı hatalı. Lütfen doğru PAYMENTSYSTEMPOOL formatı gönderin.
ERR10296 Ödeme sistemi adı hatalı. Lütfen PAYMENTSYSTEMPOOL için doğru ödeme sistemi adı gönderin.
ERR10297 Ödeme sistemi aktif değil. Lütfen PAYMENTSYSTEMPOOL için aktif bir ödeme sistemi gönderin.
ERR10298 Birden fazla/az "varsayılan" ödeme sistemi gönderildi. Lütfen PAYMENTSYSTEMPOOL için bir tane "default" ödeme sistemi gönderin.
ERR10299 Aynı bankaya ait birden fazla ödeme sistemi gönderilemez. Lütfen PAYMENTSYSTEMPOOL için aynı bankaya ait bir tane ödeme sistemi gönderin.
ERR10300 Girmiş olduğunuz kart bilgilerine ait (Vakıf Bank Tarım Kart) herhangi bir ödeme sistemi bulunamamıştır. Lütfen üye işyeri ile iletişime geçiniz.
ERR10301 Devam Eden bir İşlem zaten bu üye iş yeri sipariş numarası ile var
ERR10302 Kart Bilgileri Dogrula desteklememektedir.
ERR10303 Fiziksel Pos İşlemleri için PAYMENTSYSTEMTYPE desteklenmez
ERR10304 Kanal kodu panelde tanımlı değil.
ERR10305 Geçersiz Rol
ERR10306 ERR10306
ERR10307 Ödemeyi bu kartla gerçkeleştiremezsiniz, lütfen başka bir kartla yeniden deneyiniz.
ERR10308 Bayi Kodu ve BNPL Ürün Kodu değerleri eşleşmemektedir.
ERR10309 Belirtilen ödeme yöntemiyle işlem yapma yetkiniz yok.
ERR10310 Veriler şifrelenemedi.
ERR10311 Komisyon şeması zaten var
ERR10312 Komisyon şeması mevcut değil.
ERR10313 Üye iş yeri özelliği bulunmamaktadır
 

Payment Gateway (vPOS) Errors

The Payten Payment Gateway API uses a set of error codes for errors that originate from the payment gateway that is being used. This error set is derived from the ISO-8583 field 39 response values. The code format for these errors is ERR200xx.

Error Code Description
ERR20001 Manuel onay için bankanızla iletişime geçiniz
ERR20002 Sahte onay, bankanızla iletişime geçiniz
ERR20003 Geçersiz üye iş yeri ya da servis sağlayıcı
ERR20004 Karta el koyunuz
ERR20005 Kart sahibine bu işlem yetkisi verilmemiştir veya girilen kart bilgileri hatalı olabilir. Lütfen kart sahibi bankası ile iletişime geçiniz.
ERR20006 Hata (Sanal POS ya da banka tarafında sadece kayıt güncelleme cevapları bulundu)
ERR20007 Karta el koyunuz - Özel nedenler
ERR20008 Sahte onay, bankanızla iletişime geçiniz
ERR20009 Kart yenilenmiş. Yeni kart ile deneyiniz.
ERR20010 Kısmi Onay (Partial Approval) - Tekrar Deneyin
ERR20011 Sahte onay (VIP), bankanızla iletişime geçiniz
ERR20012 Sanal pos bankası tarafından desteklenmeyen işlem, yapılan işlem kriterlere uygun değildir.
ERR20013 Sanal POS hatası: Geçersiz tutar bilgisi
ERR20014 Geçersiz hesap ya da kart numarası belirtilmiş
ERR20015 Böyle bir banka (issuer) bulunamadı
ERR20016 Bakiye yetersiz. Yarın tekrar deneyin.
ERR20017 İşlem iptal edildi.
ERR20018 Kart kapalı. Bankayla iletişime geçin.
ERR20019 Sanal POS hatası: Tekrar deneyiniz
ERR20020 Sanal POS hatası: Geçersiz / Hatalı tutar
ERR20021 Banka / Sanal POS tarafında işlem yapılamıyor
ERR20023 Kart No bulunamadı.
ERR20025 Sanal POS hatası: Kayıt oluşturulamadı
ERR20026 Sanal POS tarafında işlem bulunamadı
ERR20027 Sanal POS hatası: Banka reddetti
ERR20028 Sanal POS hatası: Original is denied
ERR20029 Sanal POS hatası: Original not found
ERR20030 Sanal POS tarafında switch bazlı format hatası
ERR20031 Sanal POS hatası: Issuer sign-on olmamış.
ERR20032 Sanal POS tarafında genel yönlendirme hatası
ERR20033 Belirtilen kredi kartının geçerlilik süresi bitmiştir
ERR20034 İşlemde sahtecilik (fraud) şüphesi
ERR20036 Sanal POS hatası: Kısıtlanmış kart
ERR20037 Sanal POS hatası: Banka (Issuer) kartı geri çağrıyor
ERR20038 Sanal POS hatası: İzin verilen PIN deneme sayısı aşıldı
ERR20039 Sanal POS hatası: Kredi hesabı bulunamadı
ERR20040 Sanal POS hatası: İade işlemi gün sonundan önce yapılamaz
ERR20041 Sanal POS hatası: Kayıp kart, karta el koyunuz
ERR20043 Sanal POS hatası: Çalıntı kart, karta el koyunuz
ERR20051 Belirtilen kredi kartının limiti bu işlem için yeterli değildir
ERR20052 Sanal POS hatası: Çek hesabı bulunamadı
ERR20053 Sanal POS hatası: Tasarruf hesabı bulunamadı
ERR20054 Kartın kullanım süresi geçmiş
ERR20055 Sanal POS hatası: Hatalı / Geçersiz PIN değeri
ERR20056 Sanal POS hatası: Kart bilgisi bulunamadı
ERR20057 Kart sahibine bu işlem yetkisi verilmemiştir. Lütfen kart sahibi bankası ile iletişime geçiniz.
ERR20058 Yapılmak istenen işleme banka tarafından izin verilmemiştir. Lütfen üye işyeri ile iletişime geçiniz.
ERR20059 İşlemde sahtecilik (fraud) şüphesi vardır
ERR20061 Sanal POS hatası: Beklenen işlem tutar sınırı aşıldı
ERR20062 Belirtilen kredi kartı kısıtlanmıştır
ERR20063 Sanal POS tarafında güvenlik ihlali durumu
ERR20065 Sanal POS hatası: Beklenen işlem sınırı aşıldı
ERR20068 Time out. İşlemi iptal ediniz.
ERR20069 Kartınız internet alışverişine kapalıdır. Lütfen bankanız ile iletişime geçiniz
ERR20073 Genel limit asim.
ERR20075 Kart sahibine bu işlem yetkisi verilmemiştir. Lütfen kart sahibi bankası ile iletişime geçiniz. Kart şifre giriş limiti aşıldı.
ERR20076 Sanal POS anahtar eşzamanlama hatası
ERR20077 Sanal POS hatası: Geçersiz / Tutarsız bilgi gönderildi
ERR20078 Lütfen kart sahibi bankası ile iletişime geçiniz.
ERR20079 Sanal POS hatası: ARQC failed / ARQC başarısız
ERR20080 Geçersiz tarih bilgisi
ERR20081 Sanal POS şifreleme hatası
ERR20082 Geçersiz / Hatalı CVV değeri
ERR20083 PIN değeri doğrulanamıyor
ERR20084 Geçersiz / Hatalı CVV değeri
ERR20085 Sanal POS tarafında reddedildi (Genel)
ERR20086 Doğrulanamadı
ERR20088 Şifreleme hatası. Lütfen daha sonra tekrar deneyiniz.
ERR20089 Doğrulama hatası. Lütfen daha sonra tekrar deneyiniz.
ERR20090 Gün sonu yapılıyor. Lütfen daha sonra tekrar deneyiniz.
ERR20091 Banka / Sanal POS şu an işlem gerçekleştiremiyor
ERR20092 Zaman aşımı nedeniyle teknik iptal gerçekleşitiriliyor
ERR20093 Kartınız e-ticaret işlemlerine kapalıdır. Bankanızı arayınız.
ERR20094 Çoklu işlem
ERR20095 Günlük toplam hatalı. İptal reddedildi.
ERR20096 Sanal POS tarafında genel hata
ERR20098 Çoklu iptal (Duplicate reversal)
ERR20099 Lütfen yeniden deneyiniz, sorun devam ederse bankanızla iletişime geçiniz.
ERR20127 Sipariş numarası tekrar problemi. Lütfen başka bir kart kullanarak ödemenize devam ediniz. Sorun devam ederse lütfen ödeme yaptığınız kurum ya da ödeme servis sağlayıcısı ile iletişime geçiniz
ERR200GK Sanal POS hatası: Bu terminalde yanabcı kartlar için yetki bulunmamaktadır.
ERR200SF Detaylar için sanal POS cevabındaki HOSTMSG alanını kontrol ediniz.
ERR200YK Kart kara listede bulunuyor
 

Integration Errors

The Payten Payment Gateway API uses a set of error codes for integration errors that originate from Threat Metrix or 3D Server integration. The code format for these errors is ERR300xx.

Error Code Description
ERR30001 Bu işlem Threat Metrix (TMX) tarafından reddedilmiştir. İlgili detaylar için lütfen işlem loglarını ve TMX portal kayıtlarını inceleyiniz.
ERR30002 3D işlemi başarılı şekilde sonlanmadı.
ERR30003 Bu istek işlem kuralları tarafından reddedilmiştir.
ERR30004 Bu istek fraud (sahtecilik) kuralları tarafından reddedilmiştir.
ERR30005 Banka veya 3D secure sistemi tarafından yanıt alınamadı.
 

Additional error related response parameters

There are two additional API response parameters that may help you indicate the cause of the error that has occurred in the case where the error originates from the payment gateway. These are pgTranErrorCode and pgTranErrorText . These two parameters are especially useful when you get an error from the payment gateway that is still not mapped in our error set. In this case the PGTRANERRORCODE and PGTRANERRORTEXT can help you determine the cause of the error.

 

Error response examples

Here are API response examples for multiple cases when an error has occurred.

Example 1:

Payten Payment Gateway core error. Error caused by providing a invalid CARDTOKEN value for SALE action.

					
{ 
    "errorCode" : "ERR10027", 
    "responseCode" : "99", 
    "errorMsg" : "Geçersiz IP Adresi kart bilgisi (TOKEN) belirtilmiş", 
    "responseMsg" : "Declined",
    "violatorParam" : ""
}                       
				

Example 2:

Payment gateway error. Error caused by insufficient funds on the provided card.

					
{
    "errorCode":"ERR20051",
    "responseCode":"99",
    "errorMsg":"Belirtilen kredi kartının limiti bu işlem için yeterli değildir",
    "responseMsg":"Declined",
    "violatorParam":""
}						
				

Example 3:

General error. Error caused by payment error not yet mapped in our error set.

					
{
    "errorCode":"ERR20099",
    "responseCode":"99",
    "errorMsg":"Lütfen yeniden deneyiniz, sorun devam ederse bankanızla iletişime geçiniz.",
    "responseMsg":"Declined",
    "violatorParam":""
}						
				

Example 4:

Approved action. No errors.

					
{
    "apiMerchantId" : "6008138000",
    "paymentSystem" : "Teb test ps",
    "pgTranDate" : "20141215 17:22:54",
    "merchantPaymentId" : "session-a7bAS3AddR5PApN",
    "pgTranId" : "14349RW4Q89120700",
    "pgTranRefId" : "4398417187960",
    "pgOrderId" : "session-a7bRkDJK091pN",
    "responseCode" : "00",
    "responseMsg" : "Approved"
}						
				
 

Notifications

Payten Payment Gateway has a built-in mechanism that is used to notify the respective merchant of events related to financial transactions, and dealer status changes. More specifically, Payten Payment Gateway sends notification messages to a merchant about specific events when:

  • An approved transaction is performed
  • A dealer is added
  • A dealer is edited
  • A request for enabling a dealer is made
  • A dealer is approved (enabled)
  • A dealer is disabled
This notification service is triggered for approved transactions when Payten Payment Gateway receives a response from the bank payment gateway for its request initiated for a particular transaction which confirms that this transaction is approved. Transactions supported for this notification service include all financial transactions types mentioned below. When a dealer is added, edited, disabled, request for enable is made and approved(enabled) related merchant will be notified.

Response time to transactions from bank is maximum 180 seconds. As a merchant, NOTIFICATION service must be used to check the status of the transaction in the bank. If there is a late response from the bank or there is no response from the bank about transaction, it is important that you must integrate NOTIFICATION service. Through this service, transaction status is acknowledged in Payten Payment Gateway. Based on this acknowledgement you can either update your ERP or cancel the transaction.

 

How it works?

A merchant should create a listener end point and the URL pointing to this page should be added to this merchant's profile. Payten Payment Gateway then sends notifications to the merchant when a particular event occurs which is mentioned in the list above. When one such time event occurs, Payten Payment Gateway then sends a secure FORM POST to the URL containing the respective parameters shown in the right.

All parameters, which is sent in notifications, are encoded with Charset UTF-8. Merchant listener should decode with Charset UTF-8 and then get the exact parameter value. Encoding is necessary to transfer special characters in parameters value.

The SDSHA512 hash is calculated using those attribute, which are seperated by a pipe character:
NOTIFICATIONTYPE|MERCHANTPAYEMNTID|CUSTOMER|AMOUNT|TRANSACTIONTYPE|CURRENCY|INSTALLMENTCOUNT|RANDOM|MERCHANT_SECRET

Sample parameters that are sent

					
NOTIFICATIONTYPE: TRANSACTIONAPPROVED
CHANNEL: [MERCHANTBUSINESSID]
CUSTOMER: [CUSTOMERID]
CUSTOMERNAME: [CUSTOMERNAME]   
AMOUNT: [AMOUNT]
TRANSACTIONTYPE: [TRANSACTIONTYPE]
CURRENCY: [CURRENCY]
STATUS: [STATUS]
MERCHANTPAYEMNTID: [MERCHANTPAYMENTID]
PGTRANSACTIONID: [PGTRANSACTIONID]
INSTALLMENTCOUNT: [INSTALLMENTCOUNT]
EFTCODE: [INSTALLMENTCOUNT]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
				
				
NOTIFICATIONTYPE: DEALERADD
MERCHANTBUSINESSID: [MERCHANTBUSINESSID]
MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]
DEALERCODE: [DEALERCODE]
DEALERNAME: [DEALERNAME]
DEALERADDEDON: [DEALERADDEDON]   
DEALERADDEDBYEMAIL: [DEALERADDEDBYEMAIL]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
				
				
NOTIFICATIONTYPE: DEALEREDIT
MERCHANTBUSINESSID: [MERCHANTBUSINESSID]
MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]
DEALERCODE: [DEALERCODE]
DEALERNAME: [DEALERNAME]
DEALEREDITEDON: [DEALEREDITEDON]   
DEALEREDITEDBYEMAIL: [DEALEREDITEDBYEMAIL]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
				
				
NOTIFICATIONTYPE: DEALERENABLE
MERCHANTBUSINESSID: [MERCHANTBUSINESSID]
MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]
DEALERCODE: [DEALERCODE]
DEALERNAME: [DEALERNAME]
DEALERENABLEREQON: [DEALERENABLEREQON]   
DEALERENABLEREQBYEMAIL: [DEALERENABLEREQBYEMAIL]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
					
				
NOTIFICATIONTYPE: DEALERAPPROVE
MERCHANTBUSINESSID: [MERCHANTBUSINESSID]
MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]
DEALERCODE: [DEALERCODE]
DEALERNAME: [DEALERNAME]
DEALERAPPROVEDON: [DEALERAPPROVEDON]   
DEALERAPPROVEDBYEMAIL: [DEALERAPPROVEDBYEMAIL]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
								
				
NOTIFICATIONTYPE: DEALERDISABLE
MERCHANTBUSINESSID: [MERCHANTBUSINESSID]
MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]
DEALERCODE: [DEALERCODE]
DEALERNAME: [DEALERNAME]
DEALERDISABLEDON: [DEALERDISABLEDON]   
DEALERDISABLEDBYEMAIL: [DEALERDISABLEDBYEMAIL]
RANDOM: [RANDOM]
SDSHA512: [SDSHA512-HASH]
						
			
 

Metadata

Payten Payment Gateway Domain contains some important objects and shares them with integrated clients.

 

Transaction

Each financial request refers a transaction in Payten Payment Gateway domain. All settlement is done via transaction records.

A transaction has a type can have one of these status any time. Please see the definitions given right handside.

Transaction Types

					
/* Sale */ SALE,
/* Pre-authorization */	PREAUTH,
/* Post-authorization */ POSTAUTH,
/* Refund */ REFUND,
/* Partial Refund */ PTREFUND,
/* Void action */ VOID
				

Transaction Statuses

					
/* In Progress, Created */ IP,
/* CAncelled by CardHolder during approval */ CA,
/* FAiled / Declined (Response from the integrated vPOS) */	FA,
/* APproved (Response from the integrated vPOS) */ AP,
/* VoiDed (As secondary process) (Response from the integrated vPOS) */ VD,
/* Needs manual review (Response from the integrated vPOS exists) */ MR
			 
				
				
 

Diğer Kullanım Özellikleri

Payten Payment Gateway API'nin diğer kullanım alanlarını ve örneklerini aşağıda bulabilirsiniz.

 

Ödeme Sayfası Bağlantısı (URL) Kullanımı

Ödeme sayfası bağlantısı (URL) kullanımı SMS, mobil uygulama bildirimleri, push mesajlar , e-mail gibi kanallar ile ödemenin yapılacağı linkin müşteri ile paylaşıldığı bir ödeme opsiyonudur. Bu akışta üye iş yeri bir ödeme sayfası linki oluşturarak bu linki ilgili müşteri ile paylaşır. Müşteri kendisine ulaşan ödeme sayfası linkine tıklayarak ödeme sayfasına gider. Bu sayfada ödeme yapacağı tutarı, karşılığında alacağı ürünleri görür. Kart bilgilerini sayfadaki forma girer ve işlemini tamamlar.

Ödeme sayfası bağlantısı oluşturmak isteyen üye iş yeri öncelikli olarak Paratika API üzerinden ilgili parametreler ile bir SESSIONTOKEN isteğinde bulunur. Üye iş yeri başarılı bir şekilde oluşturulan oturum anahtarı bilgisi ile satış ya da ön otorizasyon yapacağı ödeme sayfası linkini oluşturur ve ilgili müşteriyle bu linki paylaşır. Müşteri linkin geçerlilik süresi dolmadan linke tıklayıp işlemi tamamlamalıdır. Geçerlilik süresi dolan linkler "Sonlandırılmış oturum (session) bilgisi." hata sayfasına yönlendirilirken geçersiz bir oturum anahtarı ile oluşturulan linkler ise "Geçersiz oturum (session) bilgisi." sayfasına yönlendirilir. Linklerin geçerlilik süresi SESSIONTOKEN isteğindeki SESSIONEXPIRY parametresi ile belirlenir ve bu parametrenin varsayılan değeri 7gündür.

Başarılı bir şekilde sonlanan işlemlerin cevabı ise SESSIONTOKEN isteğinde gönderilen RETURNURL parametresindeki adrese POST edilir.

Adım 1:

Payten Payment Gateway API üzerinden SESSIONTOKEN isteği ile bir session token oluşuturulur. ([SESSIONTOKEN])

Adım 2:

Bu session token kullanılarak ödeme sayfası linki oluşturulur. (Örn. https://test.merchantsafeunipay.com/merchant/payment/[SESSIONTOKEN])

Adım 3:

Link ilgili müşteriye mail, SMS, bildirim vs. olarak gönderilir.

Adım 4:

Müşteri linke tıklayarak ödeme sayfasına gider ve ödeme işlemini gerçekleştirir.

Adım 5:

Ödeme işleminin sonucu SESSIONTOKEN isteğindeki RETURNURL parametresi ile belirtilen adrese POST edilir.

 

TEST CARDS

Here you can find Test Cards for different Banks.

Bank API merchant ID API Name API Password 3D Key
AKBANK 100658785 api TEST1111 123456
TEB 400658785 api TEST1111 123456
HALKBANK 500658785 api TEST1111 123456
ISBANK 700658785 api TEST1111 123456
SEKERBANK 220658785 api TEST1111 123456

TEST CARDS

Bank Card Number S.K.T CVV 3D Secure Password
Ziraat-VISA 4546711234567894 12/2040 000 a
Ziraat-MASTER 5401341234567891 12/2040 000 a
AKBANK-VISA 4355084355084358 12/2040 000 a
AKBANK-MASTER 5571135571135575 12/2040 000 a
TEB-VISA 4402934402934406 12/2040 000 a
TEB-MASTER 5101385101385104 12/2040 000 a
HALKBANK-VISA 4920244920244921 12/2040 001 a
HALKBANK-MASTER 5404355404355405 12/2040 001 a
ISBANK-VISA 4508034508034509 12/2040 000 a
ISBANK-MASTER 5406675406675403 12/2040 000 a
ANADOLUBANK-VISA 4258464258464253 12/2040 000 a
ANADOLUBANK-MASTER 5222405222405229 12/2040 000 a
INGBANK-VISA 4555714555714556 12/2040 000 a
INGBANK-MASTER 5400245400245409 12/2040 000 a
QNBFINANS-TROY 9792350046201275 07/2040 993
GARANTI-TROY 9792052565200010 01/2040 327
YKB-TROY 6501617060023449 12/2040 000
YKB-TROY 6501617025774490 12/2040 000
YKB-TROY 6501617063597076 12/2040 000
TURKIYE FINANS-TROY 9792182023832743 10/2040 878 a
SEKERBANK-TROY 6501750104751517 12/2040 516 a
AKBANK-TROY 9792072000017956 12/2040 000 a
ABANK-TROY 36577312700094 12/2040 000 a
YKB-VISA 4506344103118942 12/2040 000
YKB-VISA 4506347023253988 12/2040 000
YKB-VISA 4506347028991897 12/2040 000
YKB-VISA 4506347026523718 12/2040 000
YKB-MASTER 5400617004770430 12/2040 000
YKB-MASTER 5400617020092306 12/2040 000
YKB-MASTER 5400617030400291 12/2040 000
GARANTI-VISA 4824892919057014 12/2040 067
GARANTI-MASTER 5378297758742014 05/2040 467
KUVEYTTURK-MASTER 5188961939192544 06/2040 929 123456
VAKIFBANK-VISA 4938460158754205 01/2040 715 123456
VAKIFBANK-VISA 4119790155203496 04/2040 579 123456
VAKIFBANK-MASTER 5400617020092306 12/2040 Yok 123456
 

Direct Login

 

Prerequisites

Direct Login Feature should be enabled for merchant by Payten Payment Gateway operator from Settings/Merchant Feature On/Off Management

How It Works

Payten Payment Gateway Direct Login is possible via JSON Web Tokens. The portal expects a JSON Web Token in request or cookie (name of request parameter or cookie should be "jwt"). The endpoint's url is /directlogin/[merchantBusinessId] . This token should be generated at your side(only after user has logged in your system).

An example of this flow:
  • User logs in successfully in B2B system
  • User clicks "Login To Payten Payment Gateway"
  • B2B system generates a JWT(which includes user's email in payload), and signs this token with "secret" which is defined in Payten Payment Gateway Merchant Profile
  • B2B system POSTs to /admin/merchantdirectlogin/[merchantBusinessId] with "jwt" parameter in request body or a cookie named "jwt"

JWT's header should be: {"alg": "HS256","typ": "JWT"}
JWT's payload's minimum data should be {sub: email, iat: (unix timestamp(in seconds)) , exp: (unix timestamp(in seconds))}
JWT's signature should contain the HMAC SHA256 hash combination of header and payload(signed with the secret): HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

The final JWT is then: base64UrlEncode(header) + "." + base64UrlEncode(payload) + "." + base64UrlEncode(signature)

Make sure you store securely the "secret" which is defined in Merchant Profile by Merchant SuperAdmin. This secret cannot be read after it is stored for security purposes, only a masked version is shown on Merchant Profile. Anyone in possession of this secret can generate JWTs on behalf of B2B system and login easily!
 

Interactive Form

In this interactive form you can create a JSON Web Token and test the process in interactive mode. You can login to Payten Payment Gateway with the generated token

  • TEST
    Test@İstanbul - https://test.merchantsafeunipay.com/msu/admin/merchantdirectlogin
    Prod@İstanbul - https://merchantsafeunipay.com/msu/admin/merchantdirectlogin
  • NEON
    MsuPretest@İstanbul l - https://neon-app.asseco-see.com.tr/msupretest/admin/merchantdirectlogin
    Msu@İstanbul l - https://neon-app.asseco-see.com.tr/msu/admin/merchantdirectlogin
  • LOCALHOST
    Msu@localhost - http://localhost:8090/msu/admin/merchantdirectlogin

Generate JWT

*
*

Login directly with the generated JWT

/
 

Sample Javascript

Here's a Javascript sample which generates JWT. crypt-js lib is used for HMAC HASH generation and Base64 encoding


<script type="text/javascript">
	function generateJWT() {
	    var email = 'dealeruser@testmerchant.com';
	    var secret = '12345678';
	    var iss = 'http://www.merchantb2b.com';
	    var aud = 'https://neon-app.asseco-see.com.tr';
	    var dealerCode = 'bayitest';
	    var jwtHeader = {
	        alg: 'HS256',
	        typ: 'JWT'
	    };
		var utcMillis = Date.now();

		//Some Window machines are not in sync with UTC time, so we give additional 1 minute offset, so IAT(Issues At) is not before Server's UTC time	
		var jwtPayload = {sub: email, iat: ((utcMillis - 60000) / 1000), exp: ((utcMillis - 60000) / 1000) + (60*30)};
		//expiry is set to ~30 minutes from now expiration date
	    //optional issuer
	    if (iss) {
	        jwtPayload.iss = iss;
	    }
	    //optional audience
	    if (aud) {
	        jwtPayload.aud = aud;
	    }
	    //optional dealer code
	    if (dealerCode) {
	        jwtPayload.dealerCode = dealerCode;
	    }
	    var jwtHeader64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(jwtHeader)));
	    var jwtPayload64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(jwtPayload)));
	    var jwtSignature64 = CryptoJS.HmacSHA256(jwtHeader64 + '.' + jwtPayload64, secret).toString(CryptoJS.enc.Base64);
	    return jwtHeader64 + '.' + jwtPayload64 + '.' + jwtSignature64;
	}
</script>

			
 

Sample PHP

Here's a PHP sample using standard PHP libraries only.

				
<html>
<head>
<title>PHP Script: JwtGenerator</title>
</head>
<body>
<?php
    class JwtGenerator {
        function generateJWT($email, $secret, $iss, $aud, $dealerCode) {
            $jwtHeader = json_encode(array(
                'alg' => 'HS256', 
                'typ' => 'JWT'
            ));
            $jwtPayload = json_encode(array(
                'sub' => $email,
                'iat' => time(),
                'exp' => time() + (60 * 30)
            ));
            $dataToAugment = json_decode($jwtPayload, true);
            if ($iss) {
                $dataToAugment['iss'] = $iss;
            }
            if ($aud) {
                $dataToAugment['aud'] = $aud;
            }
            if($dealerCode) {
                $dataToAugment['dealerCode'] = $dealerCode;
            }
            $jwtPayload = json_encode($dataToAugment);
            $jwtHeader64 = base64_encode($jwtHeader);
            $jwtPayload64 = base64_encode($jwtPayload);
            $jwtSignature = hash_hmac('sha256', $jwtHeader64 . '.' . $jwtPayload64, $secret, true);
            $jwtSignature64 = base64_encode($jwtSignature);
            return $jwtHeader64 . '.' . $jwtPayload64 . '.' . $jwtSignature64;
        }
    }
    $email = 'dealeruser@testmerchant.com';
    $secret = '12345678';
    $iss = 'http://www.merchantb2b.com';
    $aud = 'https://neon-app.asseco-see.com.tr';
    $dealerCode = 'bayitest';
    $instance = new JwtGenerator();
    $jwt = $instance->generateJWT($email, $secret, $iss, $aud, $dealerCode);
    print_r($jwt);
    print_r(PHP_EOL);
?>
</body>
</html>
				
			
 

Sample Java

Here's a Java sample using standard Java libraries only. You can use a JSON library for a more readable code

				
public class JwtGenerator {

	public String generateJWT(String email, String secret, String iss, String aud, String dealerCode) {
		String jwtHeader = "{\"alg\": \"HS256\",\"typ\": \"JWT\"}";
		long iat = new Date().getTime() / 1000;
		long exp = iat + (60L * 30);
		String jwtPayload = "{\"sub\": \"" + email + "\", \"iat\": " + iat + ", \"exp\": " + exp;
		//optional issuer
		if (iss != null && !iss.trim().equals("")) {
			jwtPayload += ", \"iss\": \"" + iss + "\"";
		}
		//optional audience
		if (aud != null && !aud.trim().equals("")) {
			jwtPayload += ", \"aud\": \"" + aud + "\"";
		}
		//optional dealer code
		if (dealerCode != null && !dealerCode.trim().equals("")) {
			jwtPayload += ", \"dealerCode\": \"" + dealerCode + "\"";
		}
		jwtPayload += "}";
		Charset charset = Charset.forName("UTF-8");
		try {
			String jwtHeader64 = Base64.getEncoder().encodeToString(jwtHeader.getBytes(charset));
			String jwtPayload64 = Base64.getEncoder().encodeToString(jwtPayload.getBytes(charset));
			Mac hmacSHA256 = Mac.getInstance("HmacSHA256");
			SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(charset), "HmacSHA256");
			hmacSHA256.init(secretKey);
			byte[] jwtSignature = hmacSHA256.doFinal(new String(jwtHeader64 + "." + jwtPayload64).getBytes(charset));
			String jwtSignature64 = Base64.getEncoder().encodeToString(jwtSignature);
			return jwtHeader64 + "." + jwtPayload64 + "." + jwtSignature64;
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (InvalidKeyException e) {
			e.printStackTrace();
		} 
		return "";
	}
	
	public static void main(String[] args) {
		JwtGenerator jwtGenerator = new JwtGenerator();
		String email = "dealeruser@testmerchant.com";
		String secret = "12345678";
		String iss = "http://www.merchantb2b.com";
		String aud = "https://neon-app.asseco-see.com.tr";
		String dealerCode = "bayitest";
		String jwt = jwtGenerator.generateJWT(email, secret, iss, aud, dealerCode);
		System.out.println(jwt);
	}
}
						
					
			
 

Financial Transactions

The available transaction types in Payten Payment Gateway system are listed and explained below.

 

Sale

A Sale transaction is a credit card transaction that immediately charges a customer's credit card.

IMPORTANT NOTE ABOUT MERCHANT PAYMENT ID

The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.

Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.

Request parameters
ACTION:
SALE, required Max length: 128 Description to be provided
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
CUSTOMER:
string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
AMOUNT:
decimal, conditional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
SESSIONTOKEN:
string, conditional Max length: 48 description
AUTH3DTOKEN:
string, optional Max length: 16 Başarılı 3D Kimlik Doğrulama işleminden sonra üretilen benzersiz değer.
CUSTOMEREMAIL:
string, optional Max length: 64 Customer e-mail.
CUSTOMERNAME:
string, optional Max length: 128 Name of the Customer.
CUSTOMERPHONE:
string, optional Max length: 64 Customer phone / mobile number.
CUSTOMERIP:
string, optional Max length: 39 CUSTOMERIP alanı Paratika ödeme sistemleri ve PAYCELL DCB işlemleri için zorunludur.
CARDHOLDERPORT:
string, optional Max length: 39 description
CUSTOMERUSERAGENT:
string, optional Max length: 4000 description
ENCRYPTEDDATA:
string, optional Max length: 2048 Şifreli müşteriye duyarlı bilgi içerir.
Şifrelemeden önce: p=5456165456165454&y=2020&m=12&c=000&cn=John Doe&n=n9Kf9wUzQ21Xa63B, nerede p - kart numarası, y - son kullanma tarihi, m - son kullanma ayı, cn - kart sahibinin adı, n - nonce.
CARDTOKEN:
string, conditional Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
CARDPAN:
string, conditional Max length: 25 PAN number of the card.
CARDEXPIRY:
string, conditional Max length: 7 Expiry date of the card. Format should be [mm.yy].
NAMEONCARD:
string, conditional Max length: 64 Kart üzerindeki isim.
CARDCVV:
string, optional Max length: 4 Security number of the card.
CARDSAVENAME:
string, optional Max length: 255 Given name for the saved card.
SAVECARD:
string, optional Max length: 3 description
ISREFUNDABLE:
string, optional Max length: 3 Default value: 'yes' description
REFLECTCOMMISSION:
string, optional Max length: 3 Tutara komisyon yansıt. Sadece bayiler için çalışmaktadır. See all possible values (2)
INSTALLMENTS:
integer, optional Max length: 2 Default value: '1' Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
PAYMENTSYSTEM:
string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
PAYMENTSYSTEMPOOL:
string, optional Max length: 1024 PAYMENTSYSTEMPOOL parameter is a special parameter that is used to include specific Payment Systems and to receive payments only through these payment systems.Bu parametre JSON(URL encoded) formatında olmalıdır.PAYMENTSYSTEMPOOL :[{"PaymentSystemName": "PsName1","isDefault": false},{"PaymentSystemName": "PsName2","isDefault": true},{"PaymentSystemName": "PsName3","isDefault": false}]
POINTS:
string, optional Max length: 500

Sale by points can be used via points argument of sale action. This parameter gets its argument as a json format and parse it according to payment system.

    AKBANK SALE BY POINTS SAMPLE

  • POINTS must be json String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"XCBCHIPPARA", "value":"10"}]
  • MULTIPLE POINTS USAGE: [{"name":"XCBCHIPPARA", "value":"10"},{"name":"PCBCHIPPARA", "value":"10"},{"name":"CCBCHIPPARA", "value":"10"}]

    ISBANK SALE BY POINTS SAMPLE

  • POINTS must be JSOn String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"MAXIPUAN","value":"1"}]
  • You can not use MAXIPUAN and MAXIMIL together.
  • MULTIPLE POINTS USAGE: [{"name": "MAXIPUAN", "value": "1"},{"name": "PAZARAMAPUAN", "value": "1"}]

    TEB BANK SALE BY POINTS SAMPLE

  • You can use points if and only if KULLANBONUS equal to AMOUNT
  • POINTS must be JSon String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"KULLANBONUS","value":"10"}]

    HALKBANK SALE BY POINTS SAMPLE

  • POINTS must be json String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"ODUL", "value":"10"}]

    GARANTI BANK SALE BY POINTS SAMPLE

  • POINTS must be json String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"FBB","value":"10.00"},{"name":"BNS","value":"10.00"},{"name":"MR","value":"10.00"},{"name":"MIL","value":"10.00"}]

    YAPI KREDI BANK SALE BY POINTS SAMPLE

  • POINTS must be json String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"PUAN","value":"10.00"}]

    HSBC BANK SALE BY POINTS SAMPLE

  • POINTS must be json String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"ODUL","value":"10.00"}]

    VAKIFBANK SALE BY POINTS SAMPLE

  • POINTS must be JSOn String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"PUAN","value":"10.00"}]

    DENIZBANK SALE BY POINTS SAMPLE

  • POINTS must be JSON String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"BONUSAMOUNT","value":"10.00"}]

    QNB FINANSBANK SALE BY POINTS SAMPLE

  • You can use points if and only if AVAILABLEPOINT equal to AMOUNT
  • POINTS must be JSON String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"AVAILABLEPOINT","value":"10"}]

    ZIRAATBANK SALE BY POINTS SAMPLE

  • POINTS must be JSON String, you can use POINTS argument in SALE method like below
  • POINTS : [{"name":"KULLANPUAN","value":"10.00"}]
  • Note:
    Partial points are not supported by bank
CAMPAIGNS:
string, optional Max length: 1024 description
CAMPAIGNCODE:
string, optional Max length: 512 A provided code which identifies the campaign defined by merchant.
BILLTOADDRESSLINE:
string, optional Max length: 255 Bill To Address Line
BILLTOPHONE:
string, optional Max length: 32 description
BILLTOCITY:
string, optional Max length: 32 Bill To City
BILLTOPOSTALCODE:
string, optional Max length: 16 Bill To Postal Code
BILLTOCOUNTRY:
string, optional Max length: 32 Bill To Country
SHIPTOADDRESSLINE:
string, optional Max length: 255 Ship To Address Line
SHIPTOPHONE:
string, optional Max length: 32 description
SHIPTOCITY:
string, optional Max length: 32 Ship To City
SHIPTOPOSTALCODE:
string, optional Max length: 32 Ship To Postal Code
SHIPTOCOUNTRY:
string, optional Max length: 64 Ship To Country
THREATMETRIXSESSIONID:
string, optional Max length: 128 description
TMXSESSIONQUERYINPUT:
string, optional Max length: 4000 description
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
DEALERCODE:
string, optional Max length: 32 Bayi Kodu
DEALERTYPENAME:
string, optional Max length: 256 description
FORGROUP:
string, optional Max length: 3 Default value: 'YES' FORGROUP parametresi, aynı Kart Paylaşım Grubundaki diğer satıcıların kaydettikleri kartları kullanarak işlem sorgulamasını ve / veya işlemesini sağlar.
CUSTOMFIELDS:
string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]
CARDCUTOFFDAY:
integer, optional Max length: 2 description
DEALERUSEREMAIL:
string, optional Max length: 128 description
INITIATORMERCHANTBUSINESSID:
string, optional Max length: 16 description
CARDPANTYPE:
string, optional Max length: 32 description See all possible values (1)
PBORDER:
string, optional Max length: 256 description
PAYMENTSYSTEMPOOL:
string, optional Max length: 1024 PAYMENTSYSTEMPOOL parameter is a special parameter that is used to include specific Payment Systems and to receive payments only through these payment systems.Bu parametre JSON(URL encoded) formatında olmalıdır.PAYMENTSYSTEMPOOL :[{"PaymentSystemName": "PsName1","isDefault": false},{"PaymentSystemName": "PsName2","isDefault": true},{"PaymentSystemName": "PsName3","isDefault": false}]

Sample request

					
ACTION: SALE
AMOUNT: 14.33
CURRENCY: TRY
MERCHANTPAYMENTID: session-epZ3t0zuEixO
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]
CUSTOMER: merchant-2yQZyloV
CUSTOMERNAME: CustomerName 2yQZyloV
CUSTOMEREMAIL: 2yQZyloV@email.com
CARDPAN: 4242420000004242
CARDEXPIRY: 12.2020
NAMEONCARD: Test User
EXTRA: { 
	"IsbankBolumKodu": 1,
    	"Labels": "Label0,LABEL1,label2"
}  
         
				

Sample response

					
{
    "action"   : "SALE",
    "merchant" : "testmerchant",
    "amount"   :   14.33,
    "installment" : "1",
    "currency" : "TRY",
    "apiMerchantId":"700100000",
    "paymentSystem":"ISBANK TEST",
    "paymentSystemType" : "ISBANK",
    "paymentSystemEftCode" : "0064",
    "pgTranDate":"20140922 15:10:51",
    "merchantPaymentId":"session-epZ3t0zuEixO",
    "pgTranId":"14265PKzE07012565",
    "pgTranRefId":"426500000078",
    "pgOrderId":"session-epZ3t0zuEixO",
    "pgTranApprCode":"****",
    "errorCode":"ERR20051",
    "pgTranErrorText":"Limit Yetersiz.",
    "pgTranErrorCode":"ISO8583-51",
    "responseCode":"99",
    "responseMsg":"Declined",
    "finalAmount" : 22.39,
    "cardBin": "424242",
    "panLast4": "4242"
}                       
				

Sample request for insurance payment

			
ACTION: SALE
AMOUNT: 101
CURRENCY: TRY
MERCHANTPAYMENTID: PaymentId - f1f957ed-ad4c-43b4-bcd4-c75ee86ff308
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]
CUSTOMER: Customer-iuCKFhbG
CUSTOMEREMAIL: 2yQZyloV@email.com
CUSTOMERPHONE: 090-1234567890
CARDPAN: 402278/8555/20036762130
CUSTOMERNAME: CustomerName 2yQZyloV
CUSTOMERIP: 127.0.0.1
CARDPANTYPE: INSURANCE
         
			 

Sample response for insurance payment

					
{
    "action": "SALE",
    "merchant": "testmerchant",
    "amount": 101,
    "installment": "1",
    "currency": "TRY",
    "apiMerchantId": "600658785",
    "paymentSystem": "AkbankVpos",
    "paymentSystemType": "AKBANK",
    "paymentSystemEftCode": "0111",
    "pgTranDate": "20220607 10:53:01",
    "merchantPaymentId": "PaymentId - f1f957ed-ad4c-43b4-bcd4-c75ee86ff308",
    "pgTranId": "22158K3BD17534",
    "pgTranRefId": "215810866461",
    "pgOrderId": "PaymentId - f1f957ed-ad4c-43b4-bcd4-c75ee86ff308",
    "pgTranApprCode": "592151",
    "responseCode": "00",
    "responseMsg": "Approved",
    "panLast4": "8555",
    "cardBin": "402278",
    "bankResponseExtras": {
        "SEYAHATAVANSPUANVADETARIHI": "20151010",
        "TRXDATE": "20220607 10:53:01",
        "CARDISSUER": "AKBANK A.S.",
        "KULLANILANSEYAHATAVANSPUANTRL": "200.0",
        "KULLANILANPARAPUANTRL": "-99.0",
        "KULLANILABILIRBONUS": "000000009070",
        "SGKKOMISYON": "000000001000",
        "CAVVRESULTCODE": "3",
        "CEVAPALTKODUACIKLAMA": "ACIKLAMA",
        "CARDBRAND": "VISA",
        "NUMCODE": "00",
        "ERRORCODE": "",
        "SEYAHATAVANSPUANTRL": "000000007924",
        "CEVAPALTKODU": "0000",
        "PARAPUAN": "000000009070",
        "SETTLEID": "2073"
    },
    "cardEftCode": "0111",
    "finalAmount": 101.00,
    "customer": "Customer-iuCKFhbG",
    "customFields": []
}                    
				
 

Preauth

A PreAuth transaction is a credit card transaction that reserves funds on a customer's credit card. PreAuth transaction does not charge the card until you perform a PostAuth transaction. Please note that Pre-Authorizations reserve funds for varying periods, depending on the issuing credit card company's policy. The period may be as little as three days or as long as several months. For your protection it is recommended that you confirm delivery of the product/service as soon as possible after pre-authorization.

Request parameters
ACTION:
PREAUTH, required Max length: 128 Description to be provided
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
CUSTOMER:
string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
CARDHOLDERPORT:
string, optional Max length: 39 description
AMOUNT:
decimal, conditional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
SESSIONTOKEN:
string, conditional Max length: 48 description
AUTH3DTOKEN:
string, optional Max length: 16 Başarılı 3D Kimlik Doğrulama işleminden sonra üretilen benzersiz değer.
ENCRYPTEDDATA:
string, optional Max length: 2048 Şifreli müşteriye duyarlı bilgi içerir.
Şifrelemeden önce: p=5456165456165454&y=2020&m=12&c=000&cn=John Doe&n=n9Kf9wUzQ21Xa63B, nerede p - kart numarası, y - son kullanma tarihi, m - son kullanma ayı, cn - kart sahibinin adı, n - nonce.
CARDTOKEN:
string, conditional Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
CARDPAN:
string, conditional Max length: 25 PAN number of the card.
CARDEXPIRY:
string, conditional Max length: 7 Expiry date of the card. Format should be [mm.yy].
NAMEONCARD:
string, conditional Max length: 64 Kart üzerindeki isim.
CUSTOMEREMAIL:
string, optional Max length: 64 Customer e-mail.
CUSTOMERNAME:
string, optional Max length: 128 Name of the Customer.
CUSTOMERPHONE:
string, optional Max length: 64 Customer phone / mobile number.
CUSTOMERIP:
string, optional Max length: 39 CUSTOMERIP alanı Paratika ödeme sistemleri ve PAYCELL DCB işlemleri için zorunludur.
CUSTOMERUSERAGENT:
string, optional Max length: 4000 description
INSTALLMENTS:
integer, optional Max length: 2 Default value: '1' Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
PAYMENTSYSTEM:
string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
PAYMENTSYSTEMPOOL:
string, optional Max length: 1024 PAYMENTSYSTEMPOOL parameter is a special parameter that is used to include specific Payment Systems and to receive payments only through these payment systems.Bu parametre JSON(URL encoded) formatında olmalıdır.PAYMENTSYSTEMPOOL :[{"PaymentSystemName": "PsName1","isDefault": false},{"PaymentSystemName": "PsName2","isDefault": true},{"PaymentSystemName": "PsName3","isDefault": false}]
CARDCVV:
string, optional Max length: 4 Security number of the card.
SAVECARD:
string, optional Max length: 3 description
ISREFUNDABLE:
string, optional Max length: 3 Default value: 'yes' description
REFLECTCOMMISSION:
string, optional Max length: 3 Tutara komisyon yansıt. Sadece bayiler için çalışmaktadır. See all possible values (2)
CARDSAVENAME:
string, optional Max length: 255 Given name for the saved card.
BILLTOADDRESSLINE:
string, optional Max length: 255 Bill To Address Line
BILLTOCITY:
string, optional Max length: 32 Bill To City
BILLTOPOSTALCODE:
string, optional Max length: 16 Bill To Postal Code
BILLTOCOUNTRY:
string, optional Max length: 32 Bill To Country
SHIPTOADDRESSLINE:
string, optional Max length: 255 Ship To Address Line
SHIPTOCITY:
string, optional Max length: 32 Ship To City
SHIPTOPOSTALCODE:
string, optional Max length: 32 Ship To Postal Code
SHIPTOCOUNTRY:
string, optional Max length: 64 Ship To Country
THREATMETRIXSESSIONID:
string, optional Max length: 128 description
TMXSESSIONQUERYINPUT:
string, optional Max length: 4000 description
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
DEALERCODE:
string, optional Max length: 32 Bayi Kodu
FORGROUP:
string, optional Max length: 3 Default value: 'YES' FORGROUP parametresi, aynı Kart Paylaşım Grubundaki diğer satıcıların kaydettikleri kartları kullanarak işlem sorgulamasını ve / veya işlemesini sağlar.
SHIPTOPHONE:
string, optional Max length: 32 description
BILLTOPHONE:
string, optional Max length: 32 description
DEALERTYPENAME:
string, optional Max length: 256 description
CAMPAIGNCODE:
string, optional Max length: 512 A provided code which identifies the campaign defined by merchant.
CUSTOMFIELDS:
string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]
CARDCUTOFFDAY:
integer, optional Max length: 2 description
DEALERUSEREMAIL:
string, optional Max length: 128 description
CARDPANTYPE:
string, optional Max length: 32 description See all possible values (1)

Sample request

					
ACTION: PREAUTH
CUSTOMER: MRCH_CUST_ID_123
MERCHANTPAYMENTID: parakod-352728431091
AMOUNT: 1000.00
MERCHANTUSER: [MERCHANTUSER]
CUSTOMERNAME: parakod Customer
MERCHANT: [MERCHANT]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
CARDPAN: ***
CARDEXPIRY: ***
CURRENCY: TRY
CUSTOMEREMAIL: parakodcustomer@email.com
EXTRA:{ 
	"IsbankBolumKodu": 1,
    	"Labels": "Label0,LABEL1,label2"
}  
           
				

Sample response

					
{
    "action"   : "PREAUTH",
    "merchant" : "testmerchant",
    "amount"   :   "17.22",
    "installment" : "1",
    "currency" : "TRY",
    "pgTranid": "12317QQDI12492",
    "merchantPaymentId": "parakod-1352728431091",
    "responseMsg": "Approved",
    "responseCode": "00",
    "pgTranRefId": "231700000250",
    "pgOrderId": "ORDER-12317QQDG12490",
    "pgTranApprCode":"****",
    "apiMerchantId":"700100000",
    "paymentSystem":"ISBANK TEST",
    "paymentSystemType" : "ISBANK",
    "paymentSystemEftCode" : "0064",
    "pgTranDate":"20140927 14:51:27",
    "cardBin": "424242",
    "panLast4": "4242"
}                       
				
 

Postauth

PostAuth is a credit card transaction that captures the funds on the Customer's card for a specified amount reserved earlier using PreAuth transaction. If you enter a larger total in the PostAuth transaction than what was specified for the PreAuth transaction, the PostAuth transaction may be declined. If you enter a smaller amount than was pre-authorized, an adjustment is made to the authorization to capture only the smaller amount of funds on the Customer's card for the transaction. PostAuth transactions must be completed within certain amount of time after the the pre-authorization is obtained. This time period varies between 3 days and 75 days depending on the card issuer’s policy.

Request parameters
ACTION:
POSTAUTH, required Max length: 128 Description to be provided
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
SESSIONTOKEN:
string, conditional Max length: 48 description
PGTRANID:
string, conditional Max length: 64 Transaction ID given by payment gateway.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
AMOUNT:
decimal, optional Max length: 30 Default value: '0' İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
INITIATORMERCHANTBUSINESSID:
string, optional Max length: 16 description
INVOICEID:
string, optional Max length: 4000 Fatura numarası
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or

Sample request

					
ACTION: POSTAUTH
MERCHANT: [MERCHANT]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPAYMENTID: parakod-1352728431091    
				

Sample response

					
{
    "action"   : "POSTAUTH",
    "merchant" : "testmerchant",
    "amount"   :   "17.22",
    "installment" : "1",
    "currency" : "TRY",
    "pgTranId": "12317QR6A12524",
    "merchantPaymentId": "parakod-1352728431091",
    "responseMsg": "Approved",
    "responseCode": "00",
    "pgTranRefId": "231700000252",
    "pgOrderId": "ORDER-12317QQDG12490",
    "apiMerchantId":"700100000",
    "paymentSystem":"ISBANK TEST",
    "paymentSystemType" : "ISBANK",
    "pgTranDate":"20140927 14:51:27",
    "invoiceId": "Invoice-0041434",
    "bankResponseExtras":{}
}                        
				
 

Void

A void transaction cancels any transaction, apart from itself. Void cannot be voided. You will get success response for void transactions only if they are not included in the end-of-day settlement process taking place at the issuer’s side. This is the process runs at the end of business day to settle all transactions. This is when the actual funds are transferred from the cardholder’s credit card to merchant’s bank account. So, for example; if you would like to void a sale or postauth transaction that is already processed as part of the end-of-day settlement, then you will get a failed error code for the void request. In this case, you will need to use refund as alternative to void action.

Note: For some payment systems, transactions with pre-authorization after settlement, can only be voided partially. Therefore, these transactions should be voided with amount parameter. If it is not present in request and in case first attempt is unsuccessful, system will try auto partial void with amount 1 piastre subtracted.
Partial void supported payment systems: Akbank

Request parameters
ACTION:
VOID, required Max length: 128 Description to be provided
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
SESSIONTOKEN:
string, conditional Max length: 48 description
PGTRANID:
string, conditional Max length: 64 Transaction ID given by payment gateway.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
SUBSTATUS:
string, optional Max length: 32 description See all possible values (2)
INITIATORMERCHANTBUSINESSID:
string, optional Max length: 16 description
AMOUNT:
decimal, optional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
CUSTOMFIELDS:
string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]

Sample request

					
ACTION: VOID
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]
PGTRANID: 14339MfqD01014997   
				

Sample response

					
{
    "merchantPaymentId":"session-QKFRg437iRrg",
    "pgTranId":"14339MfqD01014997",
    "pgTranRefId":"433912398111",
    "pgOrderId":"session-QKFRg437iRrg",
    "paymentSystem":"ISBANK TEST",
    "paymentSystemType" : "ISBANK",
    "responseCode":"00",
    "responseMsg":"Approved",
    "bankResponseExtras": {}
}                       
				
 

Refund

A Refund transaction returns funds to a Customer's credit card for an existing order on the system. To perform a refund, you need the transaction number, which you can find in your reports. If you perform a return of the full payment amount, the payment amount will be reset to the original amount.

Request parameters
ACTION:
REFUND, required Max length: 128 Description to be provided
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
SESSIONTOKEN:
string, conditional Max length: 48 description
AMOUNT:
decimal, optional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, optional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
PGTRANID:
string, conditional Max length: 64 Transaction ID given by payment gateway.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
SUBSTATUS:
string, optional Max length: 32 description See all possible values (2)
INITIATORMERCHANTBUSINESSID:
string, optional Max length: 16 description
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
CUSTOMFIELDS:
string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]

Sample request

					
ACTION: REFUND
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]
CURRENCY: TRY
AMOUNT: 17.17
PGTRANID: 14339MjuG01015018
				

Sample response

					
{
    "merchantPaymentId":"session-deQdckAmzHK4",
    "pgTranId":"14339MkiG01015022",
    "pgTranRefId":"433912398115",
    "pgOrderId":"session-deQdckAmzHK4",
    "paymentSystem":"ISBANK TEST",
    "paymentSystemType" : "ISBANK",
    "responseCode":"00",
    "responseMsg":"Approved",
    "refundType":"FULL",
    "bankResponseExtras":{}
}                       
				
 

Detached Refund

A Detached Refund allows you to send funds to a customer without the original associated transaction. Detached refund is only supported for Finans and Is Bank payment systems.

Request parameters
ACTION:
DETACHEDREFUND, required Max length: 128 Description to be provided
MERCHANT:
string, required Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, required Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, required Max length: 128 API Kullanıcı Şifresi.
MERCHANTPAYMENTID:
string, required Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
AMOUNT:
decimal, required Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, required Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
PAYMENTSYSTEM:
string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
INSTALLMENTS:
integer, optional Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
CUSTOMER:
string, required Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
CUSTOMERNAME:
string, optional Max length: 128 Name of the Customer.
CUSTOMEREMAIL:
string, optional Max length: 64 Customer e-mail.
CUSTOMERPHONE:
string, optional Max length: 64 Customer phone / mobile number.
CARDTOKEN:
string, conditional Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
NAMEONCARD:
string, conditional Max length: 64 Kart üzerindeki isim.
CARDPAN:
string, conditional Max length: 23 PAN number of the card.
CARDEXPIRY:
string, conditional Max length: 7 Expiry date of the card. Format should be [mm.yy].
CARDCVV:
string, optional Max length: 4 Security number of the card.
CARDPANTYPE:
string, optional Max length: 32 description See all possible values (1)
EXTRA:
string, optional Max length: 4000

Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

Parameters

Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

  • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
    {"SaveCard": "NO"}
  • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
    {"PopUpOpenWhenChecked": "NO"}
  • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
    {"SAVECARDREMINDERPOPUP": "YES"}
  • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
    {"BNPLREMINDERPOPUP": "YES"}
  • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
    {"ForceSave": "NO"}
  • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
    {"ListCard": "NO"}
  • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
    {"CVV": "NO"}
  • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
    {"MailOrder": "NO"}
  • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
    {"PREAUTH":"YES"}
  • SubMerchantCode - additional parameter sent to bank during financial transactions.
    {"SubMerchantCode": "70885124022"}
  • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
    {"IsbankBolumKodu": 1}
  • IsbankGroupId - additional parameter for transactions sent to Isbank
    {"ISBANK.GROUPID": "string"}
  • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
    {"IMMEDIATEREDIRECTION": "YES"}
  • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
    {"RETURNSCRIPT": JS Function provided by merchant!}
  • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
    {"HalkbankKobiKartDestek":"YES"}
  • ReturnTime - return time to merchant return url after payment has been processed.
    {"ReturnTime": 2}
  • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
    {"DealerCode": "Dealer01"}
  • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
    {"QIWI": "YES"}
  • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
    {"GIROPAY": "YES"}
  • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
    {"IDEAL": "YES"}
  • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
    {"SOFORT": "YES"}
  • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
    {"EPS": "YES"}
  • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
    {"MULTIBANCO": "YES"}
  • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
    {"MYBANK": "YES"}
  • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
    {"BANCONTACT": "YES"}
  • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
    {"TRUSTPAY": "YES"}
  • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
    {"SAFETYPAY": "YES"}
  • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
    {"P24": "YES"}
  • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
    {"FINNISHONLINEBANKING": "YES"}
  • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
    {"BOLETO": "YES"}
  • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
    {"ELO": "YES"}
  • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
    {"SEPA": "YES"}
  • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
    {"ALIPAY": "YES"}
  • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
    {"COMMERCECODES":["10","20","30"]}
  • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
    {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
  • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
    {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
  • User - parameter that indicates the user, who has done payment on behalf of customer.
    {"USER":"user@email.com"}
  • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
    {"SIPAY":"YES"}
  • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
    {"WECHATPAY": "YES"}
  • IframeDomainUrl - indicates from which URL address payment will be proceesed.
    {"IframeDomainUrl": "www.w3school.com"}
  • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
    {"APPLYADDITIONALMATURITY": "YES"}
  • DealerUserEmail - It represents the email of dealer user.
  • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
    {"AxessMobil.Enabled": "NO"}
  • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
    {"AxessMobil.PaymentSystem": "PaymentSystem"}
  • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
    {"COMPAY.LOAN": "YES"}
  • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
    {"COMPAY.TRANSFER": "YES"}
  • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
    {"PAPARA.PAYMENT": "YES"}
  • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
    {"INVOICETYPES": ["SALE", "DISCOUNT"]}
  • SubCustomer - parameter to differentiate the cards of same the customer.
    {"SubCustomer": "SubCustomer1"}

Split payment parameters


  • SpCode - unique code for split payment.
    {"SpCode":"Code-1234567890"}
  • SpMaxSplitCount - maximum splits that can be done during payment.
    {"SpMaxSplitCount":3}
  • SpTotalAmount - total amount for a split payment.
    {"SpTotalAmount":50}
  • SpBusinessMaxInst
    {"SpBusinessMaxInst":4}
  • SpPersonalMaxInst
    {"SpPersonalMaxInst":3}
  • SpGroupNumber - field for grouping split payments.
    {"SpGroupNumber":"Code-1234"}

Other bank parameters


  • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
    {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
  • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
    {"GarantiPayPaymentSystem":"PaymentSystemName"}
  • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"GarantiSubMerchantCode":"123456789"}
  • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
    {"YkbSubMerchantCode":"123456789"}
    For payment faciliatior options use:
    {
    "YKB.subMrcId": "152135125",
    "YKB.mrcPfId": "1531235126",
    "YKB.mcc": "1325"
    }
  • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
    {"VakifbankSubMerchantCode":"SubMerchantCode"} or
    {"VakifbankIdentity":"123456789"}
  • VAKIFBANK TOS REFUND SERVICE
    {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
    "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
    "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
    "VakifbankRefundService.DESCRIPTION":"description" }
    Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
  • ISBANK
    {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
  • DENIZBANK
    {"SubMerchantCode": 123456789012345}
  • ZIRAATBANK
    {"SubMerchantCode": VKN/TCKN}
  • AKBANK
    {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
  • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
  • HALKBANK
    {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
  • TURKIYEFINANS
    {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
  • VAKIFBANK
    {"HostSubmerchantID": ASSECOTFKB}
  • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
    {"QNBFinansSubMerchantCode": "345"}
  • QNBFINANSBANK
    {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
  • INGBANK
    {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
  • SEKERBANK
    {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
  • ODEABANK
    { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
  • ANADOLU
    { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
  • TEB
    {
    "TEB.SUBMERCHANTNAME": "SubMerchantName" }
  • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
  • ALBARAKA
    { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
  • KUVEYTTURK
    { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
    "KUVEYTURK.BKMID":"string" }
  • ZIRAATBANKKURUMSALKART
    Equal installments
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
    "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
    }

    Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
    {
    "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
    "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
    "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
    "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
    "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
    "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
    }
  • MULTINET
    { "MULTINET.MERCHANTPRODUCTID": "142" }
  • PARATIKA
    { "ParatikaMerchantId": "10000000",
    "MerchantKey":"testKey",
    "ParatikaSellerItems":
    [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

Notification Integration Model


  • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or

Sample request

					
ACTION: DETACHEDREFUND
MERCHANTUSER: [MERCHANTUSER] 
MERCHANTPASSWORD: [MERCHANTPASSWORD] 
MERCHANT: [MERCHANT]
AMOUNT: 12.98
CURRENCY: TRY 
MERCHANTPAYMENTID: PaymentId-4OoGIpkgISI1
PAYMENTSYSTEM: Is Bankasi Sanal POS
INSTALLMENTS: 2
CUSTOMER: [CUSTOMER]
CUSTOMEREMAIL: [CUSTOMEREMAIL]
CUSTOMERNAMEPHONE: [CUSTOMERNAME]
CUSTOMERPHONE: [CUSTOMERPHONE]
TCKN: [TCKN]
NAMEONCARD: Test User
CARDPAN: 4242420000004242 
CARDEXPIRY: 12.2020 
CVV: 000 

				

Sample response

					
{
  "action" : "DETACHEDREFUND",
  "merchant" : "testmerchant",
  "amount" : 12.98,
  "installment" : "2",
  "currency" : "TRY",
  "apiMerchantId" : "700658785",
  "paymentSystem" : "Is Bankasi Sanal POS",
  "paymentSystemType" : "ISBANK",
  "paymentSystemEftCode" : "0064",
  "pgTranDate" : "20181109 12:01:19",
  "merchantPaymentId" : "PaymentId-4OoGIpkgISI1",
  "pgTranId" : "18313MBTD10644",
  "pgTranRefId" : "831300129285",
  "pgOrderId" : "PaymentId-4OoGIpkgISI1",
  "responseCode" : "00",
  "responseMsg" : "Approved"
}                     
				
 

External Refund

EXTERNALREFUND API for refunding transactions in external systems. Same PaymentSystem credentials have to be used when the primary transaction is processed.

Request parameters
ACTION:
EXTERNALREFUND, required Max length: 128 Description to be provided
MERCHANT:
string, required Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, required Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, required Max length: 128 API Kullanıcı Şifresi.
PAYMENTSYSTEM:
string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
AMOUNT:
decimal, required Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, required Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
CUSTOMER:
string, optional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
CUSTOMERNAME:
string, optional Max length: 128 Name of the Customer.
CUSTOMEREMAIL:
string, optional Max length: 64 Customer e-mail.
CUSTOMERPHONE:
string, optional Max length: 64 Customer phone / mobile number.
TCKN:
string, optional Max length: 11 TC Kimlik Numarası. VKN bilgisi verilmediği durumda, TCKN parametresi zorunludur.
VKN:
string, optional Max length: 11 Vergi Kimlik Numarası. TCKN bilgisi verilmediği durumda, VKN parametresi zorunludur.
MERCHANTPAYMENTID:
string, required Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
CUSTOMFIELDS:
string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]

    Bank Based Mappings for MERCHANTPAYMENTID

  • YKB: OrderId
  • AKBANK,FINANS,ISBANK: OrderId
  • DENIZBANK: OrderId
  • GARANTI: OrderId
  • ODEABANK: OrderId
  • VAKIFBANK: OrderId
  • OTHERS: "ERR10072 - External refund is not supported by selected payment system" message is given

Sample request

					
ACTION: EXTERNALREFUND
MERCHANTUSER: [MERCHANTUSER] 
MERCHANTPASSWORD: [MERCHANTPASSWORD] 
MERCHANT: [MERCHANT]
AMOUNT: 14.14
CURRENCY: TRY 
MERCHANTPAYMENTID: PaymentId-MXOe0q4I26Nq
PAYMENTSYSTEM: Odeabank Virtual POS
CUSTOMER: [CUSTOMER]
CUSTOMEREMAIL: [CUSTOMEREMAIL]
CUSTOMERNAME: [CUSTOMERNAME]
CUSTOMERPHONE: [CUSTOMERPHONE]
TCKN: [TCKN]
VKN: [VKN]
					
				

Sample response

					
{
    "action": "EXTERNALREFUND",
    "merchant": "testmerchant",
    "amount": 14.14,
    "installment": "0",
    "currency": "TRY",
    "apiMerchantId": "101000000051189",
    "paymentSystem": "Odeabank Virtual POS",
    "paymentSystemType": "ODEABANK",
    "paymentSystemEftCode": "0146",
    "merchantPaymentId": "PaymentId-MXOe0q4I26Nq",
    "pgTranId": "SYS_575508",
    "pgTranRefId": "834813810621",
    "pgOrderId": "SYS_575508",
    "pgTranApprCode": "151424",
    "responseCode": "00",
    "responseMsg": "Approved"
}                    
				
 

QR Payment

The Proxy QR Payment API provides a seamless and secure method for facilitating financial transactions through proxy QR codes. This API is designed to enable businesses and developers to integrate QR code-based payment solutions into their applications, allowing users to make transactions conveniently and securely.

Request parameters
ACTION:
QRPAYMENT, required Max length: 128 Description to be provided
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
SESSIONTOKEN:
string, conditional Max length: 48 description
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
AMOUNT:
decimal, conditional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
CURRENCY:
string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
CUSTOMERNAME:
string, optional Max length: 128 Name of the Customer.
CUSTOMERIP:
string, conditional Max length: 128 CUSTOMERIP alanı Paratika ödeme sistemleri ve PAYCELL DCB işlemleri için zorunludur.
PAYMENTSYSTEMTYPE:
string, required Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
INSTALLMENTS:
integer, optional Max length: 2 Default value: '1' Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
THREED:
string, optional Max length: 3 description See all possible values (2)
QRTOKENID:
string, optional Max length: 30 description

Sample request

					
ACTION: QRPAYMENT
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]
AMOUNT: 14.14
CURRENCY: TRY
MERCHANTPAYMENTID: PaymentId-MXOe0q4I26Nq
PAYMENTSYSTEMTYPE: [PAYMENTSYSTEMTYPE]
QRTOKENID: [QRTOKENID]
THREED: YES
INSTALLMENTS: 1
CUSTOMER: [CUSTOMER]
CUSTOMERIP: [CUSTOMERIP]
CUSTOMEREMAIL: [CUSTOMEREMAIL]
CUSTOMERNAME: [CUSTOMERNAME]
CUSTOMERPHONE: [CUSTOMERPHONE]

				

Sample response

					
{
    "responseCode": "00",
    "responseMsg": "Approved",
    "merchantPaymentId": "PaymentId-MXOe0q4I26Nq",
    "pgTranId": "544958996172",
    "qrCode": "[QRCODE]",
    "qrTransactionId": "[QRTRANSACTIONID]"
}                    
				
 

Approve Actions

Approval mechanism for different types of objects in Payten Payment Gateway are listed and explained below.

 

Approve Transaction

Transactions that are flagged as Waiting for Approval will be approved and processed through this call.

Request parameters
ACTION:
APPROVETRANSACTION, required Max length: 128 Description to be provided
SESSIONTOKEN:
string, conditional Max length: 48 description
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
PGTRANID:
string, required Max length: 64 Transaction ID given by payment gateway.

Sample request

					
ACTION: APPROVETRANSACTION
MERCHANT: [MERCHANT]
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
PGTRANID: 00AtKvk6fQnZ
         
				

Sample response

					
{
  "merchantPaymentId" : "PaymentId-EFrP1bqRkM6Y",
  "pgTranId" : "16272LYIC00124171",
  "pgTranRefId" : "627211423817",
  "pgOrderId" : "PaymentId-EFrP1bqRkM6Y",
  "responseCode" : "00",
  "responseMsg" : "Approved"
}                      
				
 

Approve Dealer

The DEALERAPPROVE action lets you to APPROVE the Dealer that was requested to be Enabled. After approving the Dealer will be enabled again

Request parameters
ACTION:
DEALERAPPROVE, required Max length: 128 Description to be provided
SESSIONTOKEN:
string, conditional Max length: 48 description
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
DEALERCODE:
string, required Max length: 32 Bayi Kodu

Request sample for DEALERENABLE

					
ACTION: DEALERAPPROVE   
MERCHANTUSER: [MERCHANTUSER]   
MERCHANTPASSWORD: [MERCHANTPASSWORD]
MERCHANT: [MERCHANT]  
DEALERCODE:[DEALERCODE]

Sample response for DEALERAPPROVE

					
{
  "responseCode" : "00",
  "responseMsg" : "Approved",
}
				
 

Reject Actions

Rejection of different types of objects in Payten Payment Gateway are listed and explained below.

 

Approve Transaction

A transaction may be waiting for a first or last approval. This API Action rejects it by setting its status to RJ(Rejected))

Request parameters
ACTION:
REJECTTRANSACTION, required Max length: 128 Description to be provided
SESSIONTOKEN:
string, conditional Max length: 48 description
MERCHANT:
string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
MERCHANTUSER:
string, conditional Max length: 128 API Kullanıcısı.
MERCHANTPASSWORD:
string, conditional Max length: 128 API Kullanıcı Şifresi.
MERCHANTPAYMENTID:
string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.

Sample request

					
ACTION: REJECTTRANSACTION
MERCHANT: [MERCHANT]
MERCHANTUSER: [MERCHANTUSER]
MERCHANTPASSWORD: [MERCHANTPASSWORD]
TRANSACTIONID: 00AudqxX2mOG
         
				

Sample response

					
{
  "responseCode" : "00",
  "responseMsg" : "Approved",
  "transactionId" : "00AudqxX2mOG"
}                    
				
 

Session

 

Session Token

Session token can be used both for browser based integrations and API integrations. System return a key which has an access to API in a limited time (default 7 days, it is configurable). Generally session token action expect that each session should have an unique merchantPaymentId parameter. In case when you redirect your customer with same parameter set you can use same session token unless it is obey the below criteria:

  • If merchant don't have a successful or voided transation with this merchantPaymentId.
  • If session token is still active, it means the creation of session token is early than 7 days.
  • If all core parameters (amount, customer, currency, sessionType and returnUrl) of session token is same unless one of this parameter is changed in other attempts with this sessionToken system will return an error code.
  • Merchant can send sessionToken request with same merchantPaymentId.

    NOTE: Wallet session which has preauth feature shouldn't contain merchantPaymentId. System use merchantPaymentId generated randomly.

    IMPORTANT NOTE ABOUT MERCHANT PAYMENT ID

    The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.

    Request parameters
    ACTION:
    SESSIONTOKEN, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    SESSIONTYPE:
    string, required Max length: 30 description See all possible values (4)
    CUSTOMER:
    string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
    RETURNURL:
    string, required Max length: 512 description
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTPAYMENTID:
    string, conditional Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
    Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
    AMOUNT:
    decimal, conditional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    CURRENCY:
    string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    CARDPANTYPE:
    string, optional Max length: 32 description See all possible values (1)
    PAYMENTSYSTEM:
    string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    CUSTOMEREMAIL:
    string, optional Max length: 64 Customer e-mail.
    CUSTOMERNAME:
    string, optional Max length: 128 Name of the Customer.
    CUSTOMERPHONE:
    string, optional Max length: 64 Customer phone / mobile number.
    CUSTOMERIP:
    string, optional Max length: 39 CUSTOMERIP alanı Paratika ödeme sistemleri ve PAYCELL DCB işlemleri için zorunludur.
    CUSTOMERUSERAGENT:
    string, optional Max length: 4000 description
    SESSIONEXPIRY:
    string, optional Max length: 5 Default value: '168h' description
    LANGUAGE:
    string, optional Max length: 2 Default value: 'tr' description
    CAMPAIGNCODE:
    string, optional Max length: 512 A provided code which identifies the campaign defined by merchant.
    ORDERITEMS:
    string, optional Max length: 100000 Sipariş bilgileri JSON formatinda bir diziden oluşmaktadır. Gönderilecek verinin URL Encoded olarak kodlandığından emin olunuz. Geçerli format tanımları için lütfen sağ tarafta bulunan istek örneklerindeki kullanımları inceleyiniz.
    TMXSESSIONQUERYINPUT:
    string, optional Max length: 4000 description
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
      {"SaveCard": "NO"}
    • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
      {"PopUpOpenWhenChecked": "NO"}
    • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
      {"SAVECARDREMINDERPOPUP": "YES"}
    • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
      {"BNPLREMINDERPOPUP": "YES"}
    • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
      {"ForceSave": "NO"}
    • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
      {"ListCard": "NO"}
    • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
      {"CVV": "NO"}
    • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
      {"MailOrder": "NO"}
    • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
      {"PREAUTH":"YES"}
    • SubMerchantCode - additional parameter sent to bank during financial transactions.
      {"SubMerchantCode": "70885124022"}
    • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
      {"IsbankBolumKodu": 1}
    • IsbankGroupId - additional parameter for transactions sent to Isbank
      {"ISBANK.GROUPID": "string"}
    • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
      {"IMMEDIATEREDIRECTION": "YES"}
    • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
      {"RETURNSCRIPT": JS Function provided by merchant!}
    • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
      {"HalkbankKobiKartDestek":"YES"}
    • ReturnTime - return time to merchant return url after payment has been processed.
      {"ReturnTime": 2}
    • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
      {"DealerCode": "Dealer01"}
    • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
      {"QIWI": "YES"}
    • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
      {"GIROPAY": "YES"}
    • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
      {"IDEAL": "YES"}
    • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
      {"SOFORT": "YES"}
    • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
      {"EPS": "YES"}
    • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
      {"MULTIBANCO": "YES"}
    • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
      {"MYBANK": "YES"}
    • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
      {"BANCONTACT": "YES"}
    • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
      {"TRUSTPAY": "YES"}
    • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
      {"SAFETYPAY": "YES"}
    • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
      {"P24": "YES"}
    • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
      {"FINNISHONLINEBANKING": "YES"}
    • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
      {"BOLETO": "YES"}
    • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
      {"ELO": "YES"}
    • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
      {"SEPA": "YES"}
    • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
      {"ALIPAY": "YES"}
    • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
      {"COMMERCECODES":["10","20","30"]}
    • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
      {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
    • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
      {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
    • User - parameter that indicates the user, who has done payment on behalf of customer.
      {"USER":"user@email.com"}
    • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
      {"SIPAY":"YES"}
    • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
      {"WECHATPAY": "YES"}
    • IframeDomainUrl - indicates from which URL address payment will be proceesed.
      {"IframeDomainUrl": "www.w3school.com"}
    • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
      {"APPLYADDITIONALMATURITY": "YES"}
    • DealerUserEmail - It represents the email of dealer user.
    • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
      {"AxessMobil.Enabled": "NO"}
    • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
      {"AxessMobil.PaymentSystem": "PaymentSystem"}
    • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
      {"COMPAY.LOAN": "YES"}
    • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
      {"COMPAY.TRANSFER": "YES"}
    • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
      {"PAPARA.PAYMENT": "YES"}
    • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
      {"INVOICETYPES": ["SALE", "DISCOUNT"]}
    • SubCustomer - parameter to differentiate the cards of same the customer.
      {"SubCustomer": "SubCustomer1"}

    Split payment parameters


    • SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
    • SpMaxSplitCount - maximum splits that can be done during payment.
      {"SpMaxSplitCount":3}
    • SpTotalAmount - total amount for a split payment.
      {"SpTotalAmount":50}
    • SpBusinessMaxInst
      {"SpBusinessMaxInst":4}
    • SpPersonalMaxInst
      {"SpPersonalMaxInst":3}
    • SpGroupNumber - field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}

    Other bank parameters


    • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
      {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
    • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
      {"GarantiPayPaymentSystem":"PaymentSystemName"}
    • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"GarantiSubMerchantCode":"123456789"}
    • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"YkbSubMerchantCode":"123456789"}
      For payment faciliatior options use:
      {
      "YKB.subMrcId": "152135125",
      "YKB.mrcPfId": "1531235126",
      "YKB.mcc": "1325"
      }
    • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
      {"VakifbankSubMerchantCode":"SubMerchantCode"} or
      {"VakifbankIdentity":"123456789"}
    • VAKIFBANK TOS REFUND SERVICE
      {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
      "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
      "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
      "VakifbankRefundService.DESCRIPTION":"description" }
      Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
    • ISBANK
      {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
    • DENIZBANK
      {"SubMerchantCode": 123456789012345}
    • ZIRAATBANK
      {"SubMerchantCode": VKN/TCKN}
    • AKBANK
      {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
    • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
    • HALKBANK
      {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
    • TURKIYEFINANS
      {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
    • VAKIFBANK
      {"HostSubmerchantID": ASSECOTFKB}
    • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
      {"QNBFinansSubMerchantCode": "345"}
    • QNBFINANSBANK
      {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
    • INGBANK
      {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
    • SEKERBANK
      {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
    • ODEABANK
      { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
    • ANADOLU
      { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
    • TEB
      {
      "TEB.SUBMERCHANTNAME": "SubMerchantName" }
    • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
    • ALBARAKA
      { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
    • KUVEYTTURK
      { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
      "KUVEYTURK.BKMID":"string" }
    • ZIRAATBANKKURUMSALKART
      Equal installments
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
      "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
      }

      Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
      "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
      "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
      }
    • MULTINET
      { "MULTINET.MERCHANTPRODUCTID": "142" }
    • PARATIKA
      { "ParatikaMerchantId": "10000000",
      "MerchantKey":"testKey",
      "ParatikaSellerItems":
      [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

    Notification Integration Model


    • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
    MAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    BUSINESSMAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    SPLITPAYMENTTYPE:
    string, optional Max length: 7 description
    DEALERTYPENAME:
    string, optional Max length: 256 description
    BILLTOADDRESSLINE:
    string, optional Max length: 255 Bill To Address Line
    BILLTOCITY:
    string, optional Max length: 32 Bill To City
    BILLTOPOSTALCODE:
    string, optional Max length: 16 Bill To Postal Code
    BILLTOCOUNTRY:
    string, optional Max length: 32 Bill To Country
    SHIPTOADDRESSLINE:
    string, optional Max length: 255 Ship To Address Line
    SHIPTOCITY:
    string, optional Max length: 32 Ship To City
    SHIPTOPOSTALCODE:
    string, optional Max length: 32 Ship To Postal Code
    SHIPTOCOUNTRY:
    string, optional Max length: 64 Ship To Country
    SHIPTOPHONE:
    string, optional Max length: 32 description
    BILLTOPHONE:
    string, optional Max length: 32 description
    CUSTOMFIELDS:
    string, optional Max length: 4000 Bu parametre JSONArray içerisinde UTF-8 URL-Encoded formatta gönderilmeli. Bu parametre gönderildiğinde "integrationCode" ve "value" gereklidir.
    Örneğin:[{"code":"code","name":"Field Name","value":"Field Value","group":"Group","integrationCode":"IntegrationCode"},{},{}]
    MERCHANTORDERID:
    string, optional Max length: 128 description
    SETINSTALLMENT:
    integer, optional Max length: 2 description
    FORGROUP:
    string, optional Max length: 3 Default value: 'YES' FORGROUP parametresi, aynı Kart Paylaşım Grubundaki diğer satıcıların kaydettikleri kartları kullanarak işlem sorgulamasını ve / veya işlemesini sağlar.
    INITIATORMERCHANTBUSINESSID:
    string, optional Max length: 16 description
    PBORDER:
    string, optional Max length: 256 description
    PAYMENTSYSTEMPOOL:
    string, optional Max length: 1024 PAYMENTSYSTEMPOOL parameter is a special parameter that is used to include specific Payment Systems and to receive payments only through these payment systems.Bu parametre JSON(URL encoded) formatında olmalıdır.PAYMENTSYSTEMPOOL :[{"PaymentSystemName": "PsName1","isDefault": false},{"PaymentSystemName": "PsName2","isDefault": true},{"PaymentSystemName": "PsName3","isDefault": false}]

    Request sample for PAYMENTSESSION

    					
    ACTION: SESSIONTOKEN   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    CUSTOMER: Customer-UCUoumJV   
    SESSIONTYPE: PAYMENTSESSION   
    MERCHANTPAYMENTID: Payment-UCUoumJV   
    AMOUNT: 10.00   
    CURRENCY: TRY   
    CUSTOMEREMAIL: customerEmail-UCUoumJV   
    CUSTOMERNAME: CustomerNameUCUoumJV   
    CUSTOMERPHONE: 11111111111111     
    RETURNURL: http://merchantReturnUrl
    SESSIONTYPE: PAYMENTSESSION
    EXTRA:{  
       "IsbankBolumKodu":1
    } 
    ORDERITEMS:[  
       {  
          "code":"T00D3AITCC",
          "name":"Galaxy Note 3",
          "description":"Description of Galaxy Note 3",
          "quantity":2,
          "amount":449.99
       },
       {  
          "code":"B00D9AVYBM",
          "name":"Samsung Galaxy S III",
          "description":"Samsung Galaxy S III (S3) Triband White (Boost Mobile)",
          "quantity":1,
          "amount":149.95
       },
       {  
          "code":"B00NQGP5M8",
          "name":"Apple iPhone 6",
          "description":"Apple iPhone 6, Gold, 64 GB (Unlocked) by Apple",
          "quantity":1,
          "amount":139.95
       },
       {  
          "code":"B00U8KSUIG",
          "name":"Samsung Galaxy S6",
          "description":"Samsung Galaxy S6 SM-G920F 32GB (FACTORY UNLOCKED) 5.1 QHDBlack-InternationalVersion",
          "quantity":1,
          "amount":129.95
       }
    ] 
    
    

    Sample response for PAYMENTSESSION

    					
    {
      "sessionToken" : "HCZVQH5FIR5QBHBQCT6AMUJLVHEHXCMSQ2HA5I6WCGQKQNQX",
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				

    Request sample for WALLETSESSION

    					
    ACTION: SESSIONTOKEN   
    MERCHANTUSER: [MERCHANTUSER] 
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    CUSTOMER: Customer-rxL7so0p   
    MERCHANTPAYMENTID: Payment-rxL7so0p   
    AMOUNT: 10.00   
    CURRENCY: TRY   
    CUSTOMEREMAIL: customerEmail-rxL7so0p   
    CUSTOMERNAME: CustomerNamerxL7so0p   
    CUSTOMERPHONE: 11111111111111
    RETURNURL: http://merchantReturnUrl
    SESSIONTYPE: WALLETSESSION   
    

    Sample response for WALLETSESSION

    					
    {
      "sessionToken" : "HZ3JBAFJ72AJTWRR75JOKWTFHMVHG7Y6UH6VTAGABLMV7LID",
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				

    Request sample for SESSIONTOKEN with SESSIONTYPE: SPLITPAYMENTSESSION

    					
    ACTION: SESSIONTOKEN   
    MERCHANTUSER: [MERCHANTUSER] 
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    CUSTOMER: Customer-rxL7so0p   
    MERCHANTPAYMENTID: Payment-rxL7so0p   
    AMOUNT: 50.00   
    CURRENCY: TRY   
    CUSTOMEREMAIL: customerEmail-rxL7so0p   
    CUSTOMERNAME: CustomerNamerxL7so0p   
    CUSTOMERPHONE: 11111111111111
    RETURNURL: http://merchantReturnUrl
    SESSIONTYPE: SPLITPAYMENTSESSION
    EXTRA:{  
       "SpCode":"Code-1234567890",
       "SptMaxSplitCount":3,
       "SpTotalAmount":50,
       "SpBusinessMaxInst":4,
       "SpPersonalMaxInst":3
    }  
    

    Sample response for SESSIONTOKEN with SESSIONTYPE: SPLITPAYMENTSESSION

    					{  
       "sessionToken":"VF4XGGNEUGMOQTEMQTMAXIZPYJWKFODB7KSU7CWXHBA7JO3W",
       "responseCode":"00",
       "responseMsg":"Approved",
       "spc":"dILeA3sjbFnNI6CL"
    }
    				

    Request sample for SESSIONTOKEN with CARDPANTYPE: INSURANCE

    					
    ACTION: SESSIONTOKEN   
    MERCHANTUSER: [MERCHANTUSER] 
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    CUSTOMER: Customer-rxL7so0p   
    MERCHANTPAYMENTID: Payment-rxL7so0p   
    AMOUNT: 50.00   
    CURRENCY: TRY   
    CUSTOMEREMAIL: customerEmail-rxL7so0p   
    CUSTOMERNAME: CustomerNamerxL7so0p   
    CUSTOMERPHONE: 11111111111111
    RETURNURL: http://merchantReturnUrl
    SESSIONTYPE: PAYMENTSESSION
    CARDPANTYPE: INSURANCE
      
    

    Sample response for SESSIONTOKEN with CARDPANTYPE: INSURANCE

    					{  
       "sessionToken":"VF4XGGNEUGMOQTEMQTMAXIZPYJWKFODB7KSU7CWXHBA7JO3W",
       "responseCode":"00",
       "responseMsg":"Approved"
    }
    				
     

    Extend Session

    The SESSIONEXTEND action is used for extending an existing session.

    Date attributes in response are returned in merchant's timezone and formatted in ISO_8601
    Request parameters
    ACTION:
    SESSIONEXTEND, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    TOKEN:
    string, required Max length: 48 Description to be provided
    SESSIONEXPIRY:
    string, required Max length: 6 Default value: '168h' description

    Request sample for SESSIONEXTEND

    					
    ACTION: SESSIONEXTEND   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    TOKEN: [TOKEN] 
    SESSIONEXPIRY: 168h
    
    

    Sample response for SESSIONEXTEND

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "token" : "EW4376E6PZDIDL6LZMQFLYVZHANJBF7GVWSUUSGP7M6FS72F",
      "expiry" : "2016-06-28T18:56:36"
    }
    
    					
    				
     

    Session Kill

    The SESSIONKILL action is used to make sure that session tokens are expired after being used.

    Request parameters
    ACTION:
    SESSIONKILL, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, required Max length: 48 description

    Request sample for SESSIONEXTEND

    					
    ACTION: SESSIONKILL   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    SESSIONTOKEN: [SESSIONTOKEN] 
    
    

    Sample response for SESSIONKILL

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    
    					
    				
     

    Edit Session Token

    The EDITSESSIONTOKEN action is used to update session token AMOUNT and RETURNURL values.

    Request parameters
    ACTION:
    EDITSESSIONTOKEN, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, required Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, required Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, required Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, required Max length: 48 description
    RETURNURL:
    string, optional Max length: 512 description
    AMOUNT:
    decimal, optional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.

    Request sample for EDITSESSIONTOKEN

    					
    ACTION: EDITSESSIONTOKEN   
    SESSIONTOKEN: [SESSIONTOKEN] 
    RETURNURL: [RETURNURL]   
    AMOUNT: [AMOUNT]
    
    

    Sample response for EDITSESSIONTOKEN

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
      "sessionToken" : "E7TYV2R7WXNOZTLAQ7VEZJAFRBPZV6Q5RQ7Y6RKLCWKUHDIA"
    }
    
    					
    				
     

    Pay by Link Payment Actions

     

    Add Pay by Link Payment

    See Description

    NOTE: If Pay By Link Payment is created with existing customer just parameter CUSTOMER should be sent, otherwise if it's new customer parameters CUSTOMERNAME, CUSTOMERPHONE and CUSTOMEREMAIL are required and should be sent on request.

    IMPORTANT NOTE ABOUT MERCHANT PAYMENT ID

    The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.

    Request parameters
    ACTION:
    PAYBYLINKPAYMENT, required Max length: 128 Description to be provided
    SESSIONEXPIRY:
    string, required Max length: 6 Default value: '168h' description
    SESSIONTYPE:
    string, optional Max length: 20 description See all possible values (4)
    MERCHANTPAYMENTID:
    string, required Max length: 128 Payment ID given by Merchant (it must be unique).Payment ID given by Merchant (it must be unique).The character length of MerchantPaymentID varies according to the virtual POS bank. Our recommended maximum length value is 40 characters. Apart from this, the character lengths of the banks should be taken into account. If you are sending a transaction to the PARATIKA application via Payten Payment Gateway, you should send the MerchantPaymentID with a maximum value that is 9 characters shorter. This is because PARATIKA application adds +9 characters to the value sent from the Payten Payment Gateway.
    Raiffeisenbank Virtual POS Note: If you are using Raiffeisenbank's Virtual POS or sending transactions to Raiffeisenbank, the MERCHANTPAYMENTID must be limited to a maximum of 20 characters, as this is the maximum supported by the bank.
    AMOUNT:
    decimal, required Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    CURRENCY:
    string, required Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    RETURNURL:
    string, optional Max length: 512 description
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    CUSTOMER:
    string, optional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
    CUSTOMEREMAIL:
    string, optional Max length: 64 Customer e-mail.
    CUSTOMERNAME:
    string, optional Max length: 128 Name of the Customer.
    CUSTOMERPHONE:
    string, optional Max length: 64 Customer phone / mobile number.
    TCKN:
    string, optional Max length: 11 TC Kimlik Numarası. VKN bilgisi verilmediği durumda, TCKN parametresi zorunludur.
    LANGUAGE:
    string, optional Max length: 2 Default value: 'tr' description
    ORDERITEMS:
    string, optional Max length: 100000 Sipariş bilgileri JSON formatinda bir diziden oluşmaktadır. Gönderilecek verinin URL Encoded olarak kodlandığından emin olunuz. Geçerli format tanımları için lütfen sağ tarafta bulunan istek örneklerindeki kullanımları inceleyiniz.
    NOTIFICATIONCHANNELS:
    string, optional Max length: 16 NOTIFICATIONCHANNELS parametresi bildirim kanallarının belirtilmesi için kullanılır. Birden fazla kanal ile bildirim yapılacaksa kanallal , (virgül ile) birleştirilmelidir. Örn: EMAIL,SMS
    MAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    BUSINESSMAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    DEALERTYPENAME:
    string, optional Max length: 256 description
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
      {"SaveCard": "NO"}
    • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
      {"PopUpOpenWhenChecked": "NO"}
    • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
      {"SAVECARDREMINDERPOPUP": "YES"}
    • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
      {"BNPLREMINDERPOPUP": "YES"}
    • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
      {"ForceSave": "NO"}
    • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
      {"ListCard": "NO"}
    • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
      {"CVV": "NO"}
    • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
      {"MailOrder": "NO"}
    • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
      {"PREAUTH":"YES"}
    • SubMerchantCode - additional parameter sent to bank during financial transactions.
      {"SubMerchantCode": "70885124022"}
    • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
      {"IsbankBolumKodu": 1}
    • IsbankGroupId - additional parameter for transactions sent to Isbank
      {"ISBANK.GROUPID": "string"}
    • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
      {"IMMEDIATEREDIRECTION": "YES"}
    • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
      {"RETURNSCRIPT": JS Function provided by merchant!}
    • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
      {"HalkbankKobiKartDestek":"YES"}
    • ReturnTime - return time to merchant return url after payment has been processed.
      {"ReturnTime": 2}
    • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
      {"DealerCode": "Dealer01"}
    • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
      {"QIWI": "YES"}
    • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
      {"GIROPAY": "YES"}
    • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
      {"IDEAL": "YES"}
    • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
      {"SOFORT": "YES"}
    • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
      {"EPS": "YES"}
    • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
      {"MULTIBANCO": "YES"}
    • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
      {"MYBANK": "YES"}
    • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
      {"BANCONTACT": "YES"}
    • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
      {"TRUSTPAY": "YES"}
    • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
      {"SAFETYPAY": "YES"}
    • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
      {"P24": "YES"}
    • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
      {"FINNISHONLINEBANKING": "YES"}
    • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
      {"BOLETO": "YES"}
    • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
      {"ELO": "YES"}
    • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
      {"SEPA": "YES"}
    • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
      {"ALIPAY": "YES"}
    • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
      {"COMMERCECODES":["10","20","30"]}
    • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
      {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
    • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
      {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
    • User - parameter that indicates the user, who has done payment on behalf of customer.
      {"USER":"user@email.com"}
    • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
      {"SIPAY":"YES"}
    • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
      {"WECHATPAY": "YES"}
    • IframeDomainUrl - indicates from which URL address payment will be proceesed.
      {"IframeDomainUrl": "www.w3school.com"}
    • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
      {"APPLYADDITIONALMATURITY": "YES"}
    • DealerUserEmail - It represents the email of dealer user.
    • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
      {"AxessMobil.Enabled": "NO"}
    • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
      {"AxessMobil.PaymentSystem": "PaymentSystem"}
    • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
      {"COMPAY.LOAN": "YES"}
    • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
      {"COMPAY.TRANSFER": "YES"}
    • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
      {"PAPARA.PAYMENT": "YES"}
    • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
      {"INVOICETYPES": ["SALE", "DISCOUNT"]}
    • SubCustomer - parameter to differentiate the cards of same the customer.
      {"SubCustomer": "SubCustomer1"}

    Split payment parameters


    • SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
    • SpMaxSplitCount - maximum splits that can be done during payment.
      {"SpMaxSplitCount":3}
    • SpTotalAmount - total amount for a split payment.
      {"SpTotalAmount":50}
    • SpBusinessMaxInst
      {"SpBusinessMaxInst":4}
    • SpPersonalMaxInst
      {"SpPersonalMaxInst":3}
    • SpGroupNumber - field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}

    Other bank parameters


    • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
      {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
    • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
      {"GarantiPayPaymentSystem":"PaymentSystemName"}
    • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"GarantiSubMerchantCode":"123456789"}
    • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"YkbSubMerchantCode":"123456789"}
      For payment faciliatior options use:
      {
      "YKB.subMrcId": "152135125",
      "YKB.mrcPfId": "1531235126",
      "YKB.mcc": "1325"
      }
    • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
      {"VakifbankSubMerchantCode":"SubMerchantCode"} or
      {"VakifbankIdentity":"123456789"}
    • VAKIFBANK TOS REFUND SERVICE
      {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
      "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
      "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
      "VakifbankRefundService.DESCRIPTION":"description" }
      Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
    • ISBANK
      {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
    • DENIZBANK
      {"SubMerchantCode": 123456789012345}
    • ZIRAATBANK
      {"SubMerchantCode": VKN/TCKN}
    • AKBANK
      {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
    • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
    • HALKBANK
      {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
    • TURKIYEFINANS
      {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
    • VAKIFBANK
      {"HostSubmerchantID": ASSECOTFKB}
    • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
      {"QNBFinansSubMerchantCode": "345"}
    • QNBFINANSBANK
      {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
    • INGBANK
      {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
    • SEKERBANK
      {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
    • ODEABANK
      { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
    • ANADOLU
      { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
    • TEB
      {
      "TEB.SUBMERCHANTNAME": "SubMerchantName" }
    • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
    • ALBARAKA
      { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
    • KUVEYTTURK
      { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
      "KUVEYTURK.BKMID":"string" }
    • ZIRAATBANKKURUMSALKART
      Equal installments
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
      "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
      }

      Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
      "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
      "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
      }
    • MULTINET
      { "MULTINET.MERCHANTPRODUCTID": "142" }
    • PARATIKA
      { "ParatikaMerchantId": "10000000",
      "MerchantKey":"testKey",
      "ParatikaSellerItems":
      [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

    Notification Integration Model


    • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or
    ISVALIDATED:
    string, optional Max length: 3 description
    PAYBYLINKSTATUS:
    string, optional Max length: 2 Status of Pay By Link Payment. See all possible values (7)

    Request sample for PAYBYLINKPAYMENT

    					
    ACTION: PAYBYLINKPAYMENT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    CUSTOMER: Customer-UCUoumJV   
    SESSIONTYPE: PAYMENTSESSION   
    MERCHANTPAYMENTID: Payment-UCUoumJV   
    AMOUNT: 10.00   
    CURRENCY: TRY   
    CUSTOMEREMAIL: customerEmail-UCUoumJV   
    CUSTOMERNAME: CustomerNameUCUoumJV   
    CUSTOMERPHONE: 123456789     
    RETURNURL: http://merchantReturnUrl
    SESSIONTYPE: PAYMENTSESSION
    SESSIONEXPIRY: 168h
    EXTRA:[
    	{ 
    		"IsbankBolumKodu": 1
    	}
         ]  
    ORDERITEMS:[ 
            { 
                "code": "T00D3AITCC", 
                "name": "Galaxy Note 3", 
                "description": "Description of Galaxy Note 3", 
                "quantity": 2, 
                "amount": 449.99
            }, 
            { 
                "code": "B00D9AVYBM", 
                "name": "Samsung Galaxy S III", 
                "description": "Samsung Galaxy S III (S3) Triband White (Boost Mobile)", 
                "quantity": 1, 
                "amount": 149.95 
            }, 
            { 
                "code": "B00NQGP5M8", 
                "name": "Apple iPhone 6", 
                "description": "Apple iPhone 6, Gold, 64 GB (Unlocked) by Apple", 
                "quantity": 1, 
                "amount": 139.95 
            }, 
            { 
                "code": "B00U8KSUIG", 
                "name": "Samsung Galaxy S6", 
                "description": "Samsung Galaxy S6 SM-G920F 32GB (FACTORY UNLOCKED) 5.1 QHDBlack-InternationalVersion", 
                "quantity": 1, 
                "amount": 129.95 
            } 
        ]    
    
    

    Sample response for PAYBYLINKPAYMENT

    					
    {
      "sessionToken" : "HZ3JBAFJ72AJTWRR75JOKWTFHMVHG7Y6UH6VTAGABLMV7LID",
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Edit Pay by Link Payment

    The PAYBYLINKPAYMENTEDIT action is used for editing amount & returnUrl of Pay By Link Payment

    Request parameters
    ACTION:
    PAYBYLINKPAYMENTEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, required Max length: 48 description
    MERCHANTUSER:
    string, required Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, required Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, required Max length: 128 Merchant business code defined in Payten Payment Gateway.
    AMOUNT:
    decimal, optional Max length: 30 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    RETURNURL:
    string, optional Max length: 512 description

    Request sample for PAYBYLINKPAYMENTEDIT

    					
    ACTION: PAYBYLINKPAYMENTEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    SESSIONTOKEN: [SESSIONTOKEN]
    RETURNURL: [RETURNURL]
    
    

    Sample response for PAYBYLINKPAYMENTEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
      "sessionToken" : "E7TYV2R7WXNOZTLAQ7VEZJAFRBPZV6Q5RQ7Y6RKLCWKUHDIA"
    }
    				
     

    Cancel Pay by Link Payment

    The PAYBYLINKPAYMENTCANCEL action is used for cancelling a Pay By Link Payment

    Request parameters
    ACTION:
    PAYBYLINKPAYMENTCANCEL, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    PAYBYLINKTOKEN:
    string, required Max length: 48 description

    Request sample for PAYBYLINKPAYMENTCANCEL

    					
    ACTION: PAYBYLINKPAYMENTCANCEL   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    PAYBYLINKTOKEN: [PAYBYLINKTOKEN] 
    
    

    Sample response for PAYBYLINKPAYMENTCANCEL

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Resend Pay by Link Payment

    The PAYBYLINKPAYMENTRESEND action is used for resending a remainder email to Card Holder to complete the payment.

    Request parameters
    ACTION:
    PAYBYLINKPAYMENTRESEND, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    PAYBYLINKTOKEN:
    string, required Max length: 48 description
    NOTIFICATIONCHANNELS:
    string, optional Max length: 16 NOTIFICATIONCHANNELS parametresi bildirim kanallarının belirtilmesi için kullanılır. Birden fazla kanal ile bildirim yapılacaksa kanallal , (virgül ile) birleştirilmelidir. Örn: EMAIL,SMS

    Request sample for PAYBYLINKPAYMENTRESEND

    					
    ACTION: PAYBYLINKPAYMENTRESEND   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    PAYBYLINKTOKEN: [PAYBYLINKTOKEN] 
    
    

    Sample response for PAYBYLINKPAYMENTRESEND

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Invoice Actions

     

    Add Invoice

    The Invoice ADD action lets you to add a Invoice. You should give below parameters to create new invoice for a specific dealer.

    Note: DueDate is optional. Once it's provided, the following rules will apply:
    DueDate >= Issue Date
    DueDate >= now.

    On EXTRA parameter you can send the restrictions per installment or maxInstallmentCount parameter which will be applied to invoice on this format: - {"restrictInstallments":[{"maxInstallmentCount":4,"paymentSystemName":"Akbank"},{"maxInstallmentCount":3,"paymentSystemName":"Isbank"}]} So, for Akbank we will list just 4 installments, even if bank supports more than 4 installments. If you want to use Compay, you can send on EXTRA also these parameters to identify if you want to use Loan or Transfer for Compay. {"COMPAY.LOAN": "YES"} or {"COMPAY.TRANSFER":"YES"} or both of them. - {"maxInstallmentCount" : 3}, it will get priority over restrictInstallments.

    Request parameters
    ACTION:
    INVOICEADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INVOICEID:
    string, conditional Max length: 4000 Fatura numarası
    MERCHANTORDERID:
    string, conditional Max length: 128 description
    NAME:
    string, optional Max length: 250 Isim
    ISSUEDATE:
    date, required Max length: 16 Format: [dd-MM-yyyy] Faturanın düzenlendiği tarih.
    DUEDATE:
    date, optional Max length: 16 Format: [dd-MM-yyyy] Ödeme tarihi.
    AMOUNT:
    decimal, required Max length: 30 Default value: '0' İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    ORIGINALAMOUNT:
    decimal, optional Max length: 30 Default value: '0' Orijinal fatura tutarı.
    CURRENCY:
    string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    DEALERTYPENAME:
    string, optional Max length: 256 description
    INVOICETYPE:
    string, optional Max length: 8 INVOICEADD/INVOICEEDIT için kullanıldığında göndermek istediğiniz faturanın türünü belirler. Geçerli değerler SALE, PREAUTH ve DISCOUNT'tur. Bu parametreyi isteğinizde göndermezseniz ve EXTRA içerisinde PREAUTH:YES göndermediyseniz, yüklediğniz fatura SALE type kabul edilir. QUERYINVOICE için bu parametreyi isteğinize ekleyerek sorguladığınız fatura türlerini filtreleyebilirsiniz. Bu parametreyi göndermezseniz tüm fatura türleri iade edilir. See all possible values (3)
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • Preauth - parameter to pay invoices by performing Preauthorization. Possible values: YES/NO.
      {"Preauth":"NO"}
    • DESCRIPTION - parameter to add description to invoice.
      {"DESCRIPTION":"invoice-description"}
    • DisallowCreditCardPayment - parameter to control credit card payments in Dealer Portal Payment Page. The value must be true/false (default value is "false").
      {"DisallowCreditCardPayment":"true"}
    • SPLIT PAYMENT PARAMETERS - Those parameter can be sent on extra to be able to make Invoice Split Payment. You need to send set all parameters together
      SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
      SpExactMatch is TRUE/FALSE
      {"SpExactMatch":"true"}
      SpMaxSplitCount is numerical, set up to allow max 3 splits
      {"SpMaxSplitCount":"3"}
      SpGroupNumber field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}
      SpExpirationTime is supposed to be in minutes.
      {"SpExpirationTime":"55"}
    • SpExpirationStart The value must be true/false
      {"SpExpirationStart":"true"}

    Request sample for INVOICEADD

    					
    ACTION: INVOICEADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    DEALERCODE: [DEALERCODE]  
    INVOICEID: Inv-01
    NAME: Invoice 01
    ISSUEDATE: 01-05-2017 
    DUEDATE: 01-05-2018 
    ORIGINALAMOUNT: 500  
    AMOUNT: 100
    CURRENCY: TRY
    DEALERTYPENAME: Dealer Type
    EXTRA:%7B%22Preauth%22%3A%22YES%22%7D
    
    

    Sample response for INVOICEADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Invoice

    The INVOICEEDIT action lets you to edit an existing Invoice. You should provide Invoice Id + dealer code + merchant and than you can update name, due date, amount or currency.

    Note: DueDate is optional. Once it's provided, the following rules will apply:
    DueDate >= Issue Date
    DueDate >= now.
    Request parameters
    ACTION:
    INVOICEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INVOICEID:
    string, conditional Max length: 4000 Fatura numarası
    MERCHANTORDERID:
    string, conditional Max length: 128 description
    NAME:
    string, optional Max length: 250 Isim
    DUEDATE:
    date, optional Max length: 16 Format: [dd-MM-yyyy] Ödeme tarihi.
    AMOUNT:
    decimal, optional Max length: 30 Default value: '0' İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    CURRENCY:
    string, optional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    INVOICETYPE:
    string, optional Max length: 8 INVOICEADD/INVOICEEDIT için kullanıldığında göndermek istediğiniz faturanın türünü belirler. Geçerli değerler SALE, PREAUTH ve DISCOUNT'tur. Bu parametreyi isteğinizde göndermezseniz ve EXTRA içerisinde PREAUTH:YES göndermediyseniz, yüklediğniz fatura SALE type kabul edilir. QUERYINVOICE için bu parametreyi isteğinize ekleyerek sorguladığınız fatura türlerini filtreleyebilirsiniz. Bu parametreyi göndermezseniz tüm fatura türleri iade edilir. See all possible values (3)
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • Preauth - parameter to pay invoices by performing Preauthorization. Possible values: YES/NO.
      {"Preauth":"NO"}
    • DESCRIPTION - parameter to add description to invoice.
      {"DESCRIPTION":"invoice-description"}
    • DisallowCreditCardPayment - parameter to control credit card payments in Dealer Portal Payment Page. The value must be true/false (default value is "false").
      {"DisallowCreditCardPayment":"true"}
    • SPLIT PAYMENT PARAMETERS - Those parameter can be sent on extra to be able to make Invoice Split Payment. You need to send set all parameters together
      SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
      SpExactMatch is TRUE/FALSE
      {"SpExactMatch":"true"}
      SpMaxSplitCount is numerical, set up to allow max 3 splits
      {"SpMaxSplitCount":"3"}
      SpGroupNumber field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}
      SpExpirationTime is supposed to be in minutes.
      {"SpExpirationTime":"55"}
    • SpExpirationStart The value must be true/false
      {"SpExpirationStart":"true"}

    Request sample for InvoiceEDIT

    					
    ACTION: INVOICEEDIT      
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    DEALERCODE: [DEALERCODE]  
    INVOICEID: Inv-01 
    NAME: My First Invoice
    DUEDATE: [DUEDATE]  
    AMOUNT: 200  
    CURRENCY: [CURRENCY] 
    EXTRA:%7B%22Preauth%22%3A%22NO%22%7D
    
    

    Sample response for INVOICEEDIT

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete Invoice

    The INVOICEDELETE action lets you to delete a specific Invoice. You should provide Invoice Id, dealer code and merchant authentication values.

    Request parameters
    ACTION:
    INVOICEDELETE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INVOICEID:
    string, conditional Max length: 4000 Fatura numarası
    MERCHANTORDERID:
    string, conditional Max length: 128 description

    Request sample for INVOICEDELETE

    					
    ACTION: INVOICEDELETE      
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    DEALERCODE: [DEALERCODE]  
    INVOICEID: [INVOICEID]  
    
    

    Sample response for INVOICEDELETE

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete All Invoices

    The INVOICEDELETEALL action lets you to delete all UNPAID invoices for a specific dealer.

    Request parameters
    ACTION:
    INVOICEDELETEALL, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu

    Request sample for INVOICEDELETEALL

    					
    ACTION: INVOICEDELETEALL      
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    DEALERCODE: [DEALERCODE]  
    
    

    Sample response for INVOICEDELETEALL

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Recurring Plan Actions

     

    Add Recurring Plan

    The RECURRINGPLANADD action is a group of payments which will be executed separately in specified / scheduled time with defined amount(s).

    NOTE: If Recurring Plan is created with existing customer just parameter CUSTOMER should be sent, otherwise if it's new customer parameters CUSTOMERNAME, CUSTOMERPHONE and CUSTOMEREMAIL are required and should be sent on request.

    Request parameters
    ACTION:
    RECURRINGPLANADD, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    CARDTOKEN:
    string, optional Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
    CUSTOMER:
    string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
    CUSTOMERNAME:
    string, optional Max length: 128 Name of the Customer.
    CUSTOMEREMAIL:
    string, optional Max length: 64 Customer e-mail.
    CUSTOMERPHONE:
    string, optional Max length: 64 Customer phone / mobile number.
    CUSTOMERIP:
    string, optional Max length: 39 CUSTOMERIP alanı Paratika ödeme sistemleri ve PAYCELL DCB işlemleri için zorunludur.
    TCKN:
    string, optional Max length: 11 TC Kimlik Numarası. VKN bilgisi verilmediği durumda, TCKN parametresi zorunludur.
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    FIRSTAMOUNT:
    decimal, optional Max length: 30 İlk tekrarlı ödeme tutarı.
    RECURRINGAMOUNT:
    decimal, required Max length: 30 Tekrarlı ödeme tutarları.
    RECURRENCECOUNT:
    decimal, required Max length: 2 Tekrarlı ödeme planındaki tekrar sayısı.
    FREQUENCY:
    integer, required Max length: 2 Tekrarlı ödeme sıklığı.
    OCCURRENCE:
    string, required Max length: 24 description See all possible values (4)
    STARTDATE:
    date, optional Max length: 16 Format: [dd-MM-yyyy] Start date of the transaction query.
    CURRENCY:
    string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    PAYMENTSYSTEM:
    string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    NOTIFICATIONCHANNELS:
    string, optional Max length: 16 NOTIFICATIONCHANNELS parametresi bildirim kanallarının belirtilmesi için kullanılır. Birden fazla kanal ile bildirim yapılacaksa kanallal , (virgül ile) birleştirilmelidir. Örn: EMAIL,SMS
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
      {"SaveCard": "NO"}
    • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
      {"PopUpOpenWhenChecked": "NO"}
    • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
      {"SAVECARDREMINDERPOPUP": "YES"}
    • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
      {"BNPLREMINDERPOPUP": "YES"}
    • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
      {"ForceSave": "NO"}
    • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
      {"ListCard": "NO"}
    • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
      {"CVV": "NO"}
    • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
      {"MailOrder": "NO"}
    • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
      {"PREAUTH":"YES"}
    • SubMerchantCode - additional parameter sent to bank during financial transactions.
      {"SubMerchantCode": "70885124022"}
    • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
      {"IsbankBolumKodu": 1}
    • IsbankGroupId - additional parameter for transactions sent to Isbank
      {"ISBANK.GROUPID": "string"}
    • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
      {"IMMEDIATEREDIRECTION": "YES"}
    • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
      {"RETURNSCRIPT": JS Function provided by merchant!}
    • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
      {"HalkbankKobiKartDestek":"YES"}
    • ReturnTime - return time to merchant return url after payment has been processed.
      {"ReturnTime": 2}
    • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
      {"DealerCode": "Dealer01"}
    • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
      {"QIWI": "YES"}
    • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
      {"GIROPAY": "YES"}
    • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
      {"IDEAL": "YES"}
    • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
      {"SOFORT": "YES"}
    • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
      {"EPS": "YES"}
    • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
      {"MULTIBANCO": "YES"}
    • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
      {"MYBANK": "YES"}
    • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
      {"BANCONTACT": "YES"}
    • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
      {"TRUSTPAY": "YES"}
    • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
      {"SAFETYPAY": "YES"}
    • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
      {"P24": "YES"}
    • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
      {"FINNISHONLINEBANKING": "YES"}
    • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
      {"BOLETO": "YES"}
    • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
      {"ELO": "YES"}
    • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
      {"SEPA": "YES"}
    • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
      {"ALIPAY": "YES"}
    • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
      {"COMMERCECODES":["10","20","30"]}
    • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
      {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
    • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
      {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
    • User - parameter that indicates the user, who has done payment on behalf of customer.
      {"USER":"user@email.com"}
    • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
      {"SIPAY":"YES"}
    • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
      {"WECHATPAY": "YES"}
    • IframeDomainUrl - indicates from which URL address payment will be proceesed.
      {"IframeDomainUrl": "www.w3school.com"}
    • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
      {"APPLYADDITIONALMATURITY": "YES"}
    • DealerUserEmail - It represents the email of dealer user.
    • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
      {"AxessMobil.Enabled": "NO"}
    • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
      {"AxessMobil.PaymentSystem": "PaymentSystem"}
    • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
      {"COMPAY.LOAN": "YES"}
    • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
      {"COMPAY.TRANSFER": "YES"}
    • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
      {"PAPARA.PAYMENT": "YES"}
    • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
      {"INVOICETYPES": ["SALE", "DISCOUNT"]}
    • SubCustomer - parameter to differentiate the cards of same the customer.
      {"SubCustomer": "SubCustomer1"}

    Split payment parameters


    • SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
    • SpMaxSplitCount - maximum splits that can be done during payment.
      {"SpMaxSplitCount":3}
    • SpTotalAmount - total amount for a split payment.
      {"SpTotalAmount":50}
    • SpBusinessMaxInst
      {"SpBusinessMaxInst":4}
    • SpPersonalMaxInst
      {"SpPersonalMaxInst":3}
    • SpGroupNumber - field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}

    Other bank parameters


    • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
      {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
    • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
      {"GarantiPayPaymentSystem":"PaymentSystemName"}
    • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"GarantiSubMerchantCode":"123456789"}
    • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"YkbSubMerchantCode":"123456789"}
      For payment faciliatior options use:
      {
      "YKB.subMrcId": "152135125",
      "YKB.mrcPfId": "1531235126",
      "YKB.mcc": "1325"
      }
    • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
      {"VakifbankSubMerchantCode":"SubMerchantCode"} or
      {"VakifbankIdentity":"123456789"}
    • VAKIFBANK TOS REFUND SERVICE
      {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
      "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
      "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
      "VakifbankRefundService.DESCRIPTION":"description" }
      Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
    • ISBANK
      {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
    • DENIZBANK
      {"SubMerchantCode": 123456789012345}
    • ZIRAATBANK
      {"SubMerchantCode": VKN/TCKN}
    • AKBANK
      {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
    • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
    • HALKBANK
      {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
    • TURKIYEFINANS
      {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
    • VAKIFBANK
      {"HostSubmerchantID": ASSECOTFKB}
    • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
      {"QNBFinansSubMerchantCode": "345"}
    • QNBFINANSBANK
      {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
    • INGBANK
      {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
    • SEKERBANK
      {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
    • ODEABANK
      { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
    • ANADOLU
      { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
    • TEB
      {
      "TEB.SUBMERCHANTNAME": "SubMerchantName" }
    • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
    • ALBARAKA
      { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
    • KUVEYTTURK
      { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
      "KUVEYTURK.BKMID":"string" }
    • ZIRAATBANKKURUMSALKART
      Equal installments
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
      "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
      }

      Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
      "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
      "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
      }
    • MULTINET
      { "MULTINET.MERCHANTPRODUCTID": "142" }
    • PARATIKA
      { "ParatikaMerchantId": "10000000",
      "MerchantKey":"testKey",
      "ParatikaSellerItems":
      [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

    Notification Integration Model


    • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or

    Request sample for RECURRINGPLANADD

    					
    ACTION: RECURRINGPLANADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    RECURRINGPLANCODE: Code-JSjAuDXf
    FIRSTAMOUNT: 100
    RECURRINGAMOUNT: 500
    TOTALAMOUNT: 600
    RECURRENCECOUNT: 2
    FREQUENCY: 5
    OCCURRENCE: DAY
    CURRENCY: TRY
    STARTDATE: 01-10-2017
    PAYMENTSYSTEM: GarantiPOS
    CUSTOMER: merchant-2yQZyloV
    CUSTOMERNAME: CustomerName 2yQZyloV
    CUSTOMEREMAIL: 2yQZyloV@email.com
    CUSTOMERPHONE: +5678947897
    TCKN: 12345678912
    NOTIFICATIONCHANNELS: SMS
    
    

    Sample response for RECURRINGPLANADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "recurringPlanCode" : "Code-JSjAuDXf"
    }
    				
     

    Edit Recurring Plan

    The RECURRINGPLANEDIT is an action that allows you to change some properties of Recurring Plans. You can change STATUS and RECURRING AMOUNT of recurring plan.

    Request parameters
    ACTION:
    RECURRINGPLANEDIT, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    RECURRINGPLANSTATUS:
    string, optional Max length: 13 description See all possible values (4)
    RECURRINGAMOUNT:
    decimal, optional Max length: 30 Tekrarlı ödeme tutarları.
    PAYMENTSYSTEM:
    string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.

    Request sample for RECURRINGPLANEDIT

    					
    ACTION: RECURRINGPLANEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    RECURRINGPLANCODE: Code-JSjAuDXf
    RECURRINGAMOUNT: 50.00
    RECURRINGPLANSTATUS: INACTIVE   
    
    

    Sample response for RECURRINGPLANEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Delete Recurring Plan

    The RECURRINGPLANDELETE is an action that allows you to DELETE a Recurring Plan if NONE OF THE TRANSACTIONS have been processed yet.

    Request parameters
    ACTION:
    RECURRINGPLANDELETE, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.

    Request sample for RECURRINGPLANDELETE

    					
    ACTION: RECURRINGPLANDELETE    
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    RECURRINGPLANCODE: Code-JSjAuDXf
       
    
    

    Sample response for RECURRINGPLANDELETE

    					
    {
      "action" : "RECURRINGPLANDELETE",
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Resend Link for Recurring Plan

    The RECURRINGPLANRESENDLINK is an action that allows you to reinvite/resend notification to cardholders. The notification will be sent depending on recurring plan's status. If recurring plan has no card, add card invitation is sent, otherwise editing invitation is sent. NOTIFICATIONCHANNELS parameter can be used to specify sending channels(comma separated).

    Request parameters
    ACTION:
    RECURRINGPLANRESENDLINK, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    NOTIFICATIONCHANNELS:
    string, required Max length: 16 NOTIFICATIONCHANNELS parametresi bildirim kanallarının belirtilmesi için kullanılır. Birden fazla kanal ile bildirim yapılacaksa kanallal , (virgül ile) birleştirilmelidir. Örn: EMAIL,SMS

    Request sample for RECURRINGPLANRESENDLINK

    					
    ACTION: RECURRINGPLANRESENDLINK   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    RECURRINGPLANCODE: Code-JSjAuDXf
    NOTIFICATIONCHANNELS: EMAIL,SMS  
    
    

    Sample response for RECURRINGPLANRESENDLINK

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Recurring Plan Card Actions

     

    Adding Card to Recurring Plan

    The RECURRINGPLANCARDADD action allows you to ADD a new or existing card to a specific Recurring Plan. If no card or recurring plan has found method throws exception.

    Request parameters
    ACTION:
    RECURRINGPLANCARDADD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    CARDPAN:
    string, conditional Max length: 19 PAN number of the card.
    CARDEXPIRY:
    string, conditional Max length: 7 Expiry date of the card. Format should be [mm.yy].
    NAMEONCARD:
    string, conditional Max length: 64 Kart üzerindeki isim.
    CARDTOKEN:
    string, conditional Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
    CARDSAVENAME:
    string, optional Max length: 255 Given name for the saved card.

    Request sample for RECURRINGPLANCARDADD

    					
    ACTION: RECURRINGPLANCARDADD
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    RECURRINGPLANCODE: Code-JSjAuDXf
    CARDPAN: 540667***0637
    CARDEXPIRY: 12.2023
    NAMEONCARD: Test Customer
    CARDSAVENAME: my_card_01
    					
    

    Sample response for RECURRINGPLANCARDADD

    					
    {
      "cardToken" : "JBBAMTITIESTXH4JTX2FLMAJO6VSNQLH7AF4OG3U3TRFZ5IB",
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Query Recurring Plan Cards

    The QUERYRECURRINGPLANCARD action allows you to get the list of existing cards related to a specific Recurring Plan.

    Request parameters
    ACTION:
    QUERYRECURRINGPLANCARD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.

    Request sample for QUERYRECURRINGPLANCARD

    					
    ACTION: QUERYRECURRINGPLANCARD
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    RECURRINGPLANCODE: Code-FAF11F1f
    					
    

    Sample response for QUERYRECURRINGPLANCARD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "cardList" : [ {
        "cardToken" : "SLKRBU3SKLYY4KCSXRATS4SKGK6HLKNMUNMGFCA3AMMBG6PY",
        "cardOwnerMasked" : "n***",
        "panLast4" : "1111",
        "customer" : "Customer-Dz3IU5Ye",
        "cardBin" : "411111",
        "cardExpiry" : "03.2017",
        "cardName" : "cnane",
        "pan" : "411111***1111"
      } ]
    }
    				
     

    Deleting Card of a Recurring Plan

    The RECURRINGPLANCARDDELETE action allows you to DELETE a specific card of a specific recurring plan. If no card or recurring plan or recurring plan - card relation have found the exception will be thrown.

    Request parameters
    ACTION:
    RECURRINGPLANCARDDELETE, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    CARDTOKEN:
    string, required Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.

    Request sample for RECURRINGPLANCARDDELETE

    					
    ACTION: RECURRINGPLANCARDDELETE
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    RECURRINGPLANCODE: Code-JSjAuDXf
    CARDTOKEN: DF5EZ6UZP2ASNDX73WJHNFCBDUEF23UKM2ZJPMLNMBEE625Y
    					
    

    Sample response for RECURRINGPLANCARDDELETE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Recurring Plan Actions

     

    Edit Recurring Payments

    The RECURRINGPAYMENTEDIT is an action that allows you to change some properties of Recurring Payments.

    Request parameters
    ACTION:
    RECURRINGPAYMENTEDIT, required Max length: 128 Description to be provided
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    RECURRINGPLANCODE:
    string, required Max length: 16 Tekrarlı ödeme için kullanılan tekil (unique) kod.
    RECURRENCE:
    decimal, required Max length: 2 Düzenlenecek tekrarlı ödeme.
    AMOUNT:
    decimal, optional Max length: 22 İşlem tutarı bilgisidir. Önemli Not: Üye iş yerlerinin Payten Payment Gateway’e ilettikleri tutar KDV dahil tutardır. Payten Payment Gateway ek olarak herhangi bir vergi hesaplaması yapmaz.
    RECURRINGPAYMENTSTATUS:
    string, optional Max length: 12 description See all possible values (6)

    Request sample for RECURRINGPAYMENTEDIT

    					
    ACTION: RECURRINGPAYMENTEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    RECURRINGPLANCODE: Code-afffAaFf
    RECURRINGSTATUS: MANUALLYPAID
    RECURRENCECOUNT: 3
    AMOUNT:  10   
    
    

    Sample response for RECURRINGPLANEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "recurringPlanCode" : "Code-afffAaFf",
      "recurringPayment" : {
        "startDate" : "2016-07-12 00:00:00.0",
        "status" : "MANUALLYPAID",
        "recurrence" : 3,
        "amount" : "10.00",
        "tryCount" : 0
      }
    }
    				
     

    Payment System Actions

     

    Add Payment System

    You can add Payment System via API

    For YKB please specify parameters on the fields
    GATE3DKEY / Posnet No
    INTEGRATIONEXTRAFIELD00 / Terminal No
    INTEGRATIONEXTRAFIELD01 / Enckey

    For QNBFINANS please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / Terminal No
    INTEGRATIONEXTRAFIELD01 / MbrId

    For GARANTI please specify parameters on the fields
    APIUSERNAME / Terminal ID
    GATE3DKEY / Secure Key
    INTEGRATIONEXTRAFIELD00 / PROVAUT (Approval User) Password
    INTEGRATIONEXTRAFIELD01 / PROVRFN (Void/Refund User) Password

    For VAKIFBANK please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / Pos No

    For BKMEXPRESS please specify parameters on the field
    GATE3DKEY / Store Key
    INTEGRATIONEXTRAFIELD00 / Private Key
    INTEGRATIONEXTRAFIELD01 / Public Key

    For BKMEXPRESSV2 please specify parameters on the field
    INTEGRATIONEXTRAFIELD00 / Private Key
    INTEGRATIONEXTRAFIELD01 / Public Key

    For COMPAY please specify parameters on the field
    APIMERCHANTID / Compay Client Id
    GATE3DKEY / Store Key
    INTEGRATIONEXTRAFIELD00 / Compay Acquirer Id
    INTEGRATIONEXTRAFIELD01 / Payment System Name

    Request parameters
    ACTION:
    PAYMENTSYSTEMADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, required Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    STATUS:
    string, required Max length: 2 Default value: 'OK' Durum See all possible values (3)
    PAYMENTSYSTEMMODE:
    string, required Max length: 4 Ödeme Sistemi Modu See all possible values (2)
    APIMERCHANTID:
    string, conditional Max length: 64 API Üye İş Yeri ID
    APIUSERNAME:
    string, conditional Max length: 64 API Kullanıcı Adı
    APIPASSWORD:
    string, conditional Max length: 64 API Şifresi
    GATE3DKEY:
    string, conditional Max length: 64 3D Anahtarı
    INTEGRATIONEXTRAFIELD00:
    string, conditional Max length: 4000 Entegrasyon Alanı 0
    INTEGRATIONEXTRAFIELD01:
    string, conditional Max length: 4000 Entegrasyon Alanı 1
    INTEGRATIONEXTRAFIELD02:
    string, conditional Max length: 4000 description
    INTEGRATIONEXTRAFIELD03:
    string, conditional Max length: 4000 description
    INTEGRATIONEXTRAFIELD04:
    string, optional Max length: 4000 description
    INTEGRATIONEXTRAFIELD05:
    string, optional Max length: 4000 description
    ISDEFAULT:
    string, optional Max length: 3 Default value: 'no' Varsayilan
    SUBMERCHANTCODE:
    string, optional Max length: 30 description
    ADJUSTRATES:
    string, optional Max length: 3 description See all possible values (2)
    POSID:
    string, optional Max length: 512 description
    DONOTUSEAPIMERCHANTID:
    string, conditional Max length: 3 description
    DONOTUSEGATE3DKEY:
    string, conditional Max length: 3 description

    Request sample for PAYMENTSYSTEMADD

    					
    ACTION: PAYMENTSYSTEMADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEMTYPE: BKMEXPRESS  
    PAYMENTSYSTEM: BkmExpress
    STATUS: OK
    PAYMENTSYSTEMMODE: TEST
    APIMERCHANTID: [APIMERCHANTID]
    APIUSERNAME: [APIUSERNAME]
    APIPASSWORD: [APIPASSWORD]
    GATE3DKEY: [GATE3DKEY]
    INTEGRATIONEXTRAFIELD00: [INTEGRATIONEXTRAFIELD00]
    INTEGRATIONEXTRAFIELD01: [INTEGRATIONEXTRAFIELD01]
    ISDEFAULT: [ISDEFAULT]
    SUBMERCHANTCODE: [SUBMERCHANTCODE]
    
    

    Sample response for PAYMENTSYSTEMADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Payment System

    The PAYMENTSYSTEM action lets you to interact with the payment system feature of Payten Payment Gateway via API. Using this API action you can edit an existing payment system.

    For YKB please specify parameters on the fields
    GATE3DKEY / Posnet No
    INTEGRATIONEXTRAFIELD00 / Terminal No
    INTEGRATIONEXTRAFIELD01 / Enckey

    For QNBFINANS please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / Terminal No
    INTEGRATIONEXTRAFIELD01 / MbrId

    For GARANTI please specify parameters on the fields
    APIUSERNAME / Terminal ID
    GATE3DKEY / Secure Key
    INTEGRATIONEXTRAFIELD00 / PROVAUT (Approval User) Password
    INTEGRATIONEXTRAFIELD01 / PROVRFN (Void/Refund User) Password

    For VAKIFBANK please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / Pos No

    For BKMEXPRESS please specify parameters on the field
    GATE3DKEY / Store Key
    INTEGRATIONEXTRAFIELD00 / Private Key
    INTEGRATIONEXTRAFIELD01 / Public Key

    For BKMEXPRESSV2 please specify parameters on the field
    INTEGRATIONEXTRAFIELD00 / Private Key
    INTEGRATIONEXTRAFIELD01 / Public Key

    For COMPAY please specify parameters on the field
    APIMERCHANTID / Compay Client Id
    GATE3DKEY / Store Key
    INTEGRATIONEXTRAFIELD00 / Compay Acquirer Id
    INTEGRATIONEXTRAFIELD01 / Payment System Name

    Request parameters
    ACTION:
    PAYMENTSYSTEMEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEMTYPE:
    string, required Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    PAYMENTSYSTEM:
    string, optional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    STATUS:
    string, optional Max length: 2 Default value: 'OK' Durum See all possible values (3)
    PAYMENTSYSTEMMODE:
    string, optional Max length: 4 Ödeme Sistemi Modu See all possible values (2)
    APIMERCHANTID:
    string, optional Max length: 64 API Üye İş Yeri ID
    APIUSERNAME:
    string, optional Max length: 64 API Kullanıcı Adı
    APIPASSWORD:
    string, optional Max length: 64 API Şifresi
    GATE3DKEY:
    string, optional Max length: 64 3D Anahtarı
    INTEGRATIONEXTRAFIELD00:
    string, optional Max length: 4000 Entegrasyon Alanı 0
    INTEGRATIONEXTRAFIELD01:
    string, optional Max length: 4000 Entegrasyon Alanı 1
    INTEGRATIONEXTRAFIELD02:
    string, optional Max length: 4000 description
    INTEGRATIONEXTRAFIELD03:
    string, optional Max length: 4000 description
    INTEGRATIONEXTRAFIELD04:
    string, optional Max length: 4000 description
    INTEGRATIONEXTRAFIELD05:
    string, optional Max length: 4000 description
    ISDEFAULT:
    string, optional Max length: 3 Default value: 'no' Varsayilan
    SUBMERCHANTCODE:
    string, optional Max length: 30 description
    ADJUSTRATES:
    string, optional Max length: 3 description See all possible values (2)
    POSID:
    string, optional Max length: 512 description
    DONOTUSEAPIMERCHANTID:
    string, optional Max length: 3 description
    DONOTUSEGATE3DKEY:
    string, optional Max length: 3 description

    Request sample for PAYMENTSYSTEMEDIT

    					
    ACTION: PAYMENTSYSTEMEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEMTYPE: FINANS  
    PAYMENTSYSTEM: New Finans Name
    STATUS: OK
    PAYMENTSYSTEMMODE: TEST
    APIMERCHANTID: [APIMERCHANTID]
    APIUSERNAME: [APIUSERNAME]
    APIPASSWORD: [APIPASSWORD]
    GATE3DKEY: [GATE3DKEY]
    INTEGRATIONEXTRAFIELD00: [INTEGRATIONEXTRAFIELD00]
    INTEGRATIONEXTRAFIELD01: [INTEGRATIONEXTRAFIELD01]
    ISDEFAULT: [ISDEFAULT]
    SUBMERCHANTCODE: [SUBMERCHANTCODE]
    
    

    Sample response for PAYMENTSYSTEMEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Read Payment System

    The PAYMENTSYSTEM action lets you to interact with the payment system feature of Payten Payment Gateway via API. Using this API action you can Read a payment system's details.

    Request parameters
    ACTION:
    PAYMENTSYSTEMREAD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    DEALERTYPENAME:
    string, optional Max length: 256 description

    Request sample for PAYMENTSYSTEMREAD

    					
    ACTION: PAYMENTSYSTEMREAD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    PAYMENTSYSTEMTYPE: FINANS   
    PAYMENTSYSTEM:              
    
    

    Sample response for PAYMENTSYSTEMENREAD

    					
    {
      "apiMerchantId" : "600658785",
      "paymentSystemType" : "FINANS",
      "paymentSystemEftCode" : "0111",
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "paymentSystemName" : "My Finans Webpos Online Account (Test)",
      "hostUrl" : "testvpos.asseco-see.com.tr",
      "status" : "OK",
      "mode" : "TEST",
      "subMerchantCode" : "123456789",
      "apiUsername" : "api",
      "apiPassword" : "T******1",
      "threeDGateKey" : "123456",
      "psIntegrationExtraField00" : "none",
      "psIntegrationExtraField01" : "none",
      "paymentTypes" : [ {
        "count" : "1",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 0,
        "startDate" : "2012-01-01 02:01:00.000",
        "endDate" : "2017-01-01 01:59:00.000"
      }, {
        "count" : "2",
        "status" : "OK",
        "interestRate" : 0.95,
        "discountRate" : 0,
        "startDate" : "2013-08-01 03:00:00.000",
        "endDate" : "2017-08-31 03:00:00.000"
      }, {
        "count" : "3",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "4",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "5",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "6",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "7",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "8",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 0,
        "startDate" : "2014-10-01 05:00:00.000",
        "endDate" : "2030-10-01 05:00:00.000"
      }, {
        "count" : "9",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "10",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "11",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      }, {
        "count" : "12",
        "status" : "OK",
        "interestRate" : 0,
        "discountRate" : 1,
        "startDate" : "2014-10-01 03:00:00.000",
        "endDate" : "2030-10-01 03:00:00.000"
      } ]
    }
    				
     

    Enable Payment System

    The PAYMENTSYSTEM action lets you to interact with the payment system feature of Payten Payment Gateway via API. Using this API action you can enable a payment system.

    Request parameters
    ACTION:
    PAYMENTSYSTEMENABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)

    Request sample for PAYMENTSYSTEMENABLE

    					
    ACTION: PAYMENTSYSTEMENABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    PAYMENTSYSTEMTYPE: FINANS   
    PAYMENTSYSTEM:              
    
    

    Sample response for PAYMENTSYSTEMENABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Disable Payment System

    The PAYMENTSYSTEM action lets you to interact with the payment system feature of Payten Payment Gateway via API. Using this API action you can disable a payment system.

    Request parameters
    ACTION:
    PAYMENTSYSTEMDISABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)

    Request sample for PAYMENTSYSTEMDISABLE

    					
    ACTION: PAYMENTSYSTEMDISABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    PAYMENTSYSTEMTYPE:    
    PAYMENTSYSTEM: FINANS       
    
    

    Sample response for PAYMENTSYSTEMDISABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Payment Type

     

    Payment Type Add

    The PAYMENTTYPE action lets you to interact with the payment type feature of Payten Payment Gateway via API. Using this API action you can add payment type.

    The parameters : APPLYFORDEBITCREDITCARD and APPLYFORCREDITCARD have same meaning, you can decide which one to use.

    Request parameters
    ACTION:
    PAYMENTTYPEADD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    NAME:
    string, required Max length: 128 Isim
    STATUS:
    string, required Max length: 2 Default value: 'OK' Durum See all possible values (3)
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
    INTERESTRATE:
    decimal, required Max length: 7 description
    DISCOUNTRATE:
    decimal, required Max length: 7 description
    COMMISSIONRATE:
    decimal, optional Max length: 7 description
    VALIDFROM:
    date, required Max length: 16 Format: [dd-MM-yyyy HH:mm] description
    VALIDTO:
    date, required Max length: 16 Format: [dd-MM-yyyy HH:mm] description
    APPLYFORDEBITCREDITCARD:
    string, optional Max length: 3 Default value: 'YES' description
    APPLYFORCREDITCARD:
    string, optional Max length: 3 description
    APPLYFORBUSINESSCARD:
    string, optional Max length: 3 Default value: 'YES' description
    COMMISSIONSTATUS:
    string, optional Max length: 2 Default value: 'OK' description See all possible values (3)

    Request sample for PAYMENTTYPEADD

    					
    ACTION: PAYMENTTYPEADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: GarantiPOS   
    NAME: Garanti03   
    STATUS: OK   
    INSTALLMENTS: 3   
    INTERESTRATE: 0   
    DISCOUNTRATE: 1   
    VALIDFROM: 01-10-2014 02:00   
    VALIDTO: 01-10-2030 02:00
    APPLYFORDEBITCREDITCARD: YES
    APPLYFORBUSINESSCARD: NO    
    
    

    Sample response for PAYMENTTYPEADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment Type Edit

    The PAYMENTTYPE action lets you to interact with the payment type feature of Payten Payment Gateway via API. Using this API action you can edit payment type.

    The parameters : APPLYFORDEBITCREDITCARD and APPLYFORCREDITCARD have same meaning, you can decide which one to use.

    Request parameters
    ACTION:
    PAYMENTTYPEEDIT, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
    NAME:
    string, optional Max length: 128 Isim
    STATUS:
    string, optional Max length: 2 Default value: 'OK' Durum See all possible values (3)
    INTERESTRATE:
    decimal, optional Max length: 7 description
    DISCOUNTRATE:
    decimal, optional Max length: 7 description
    COMMISSIONRATE:
    decimal, optional Max length: 7 description
    VALIDFROM:
    date, optional Max length: 16 Format: [dd-MM-yyyy HH:mm] description
    VALIDTO:
    date, optional Max length: 16 Format: [dd-MM-yyyy HH:mm] description
    APPLYFORDEBITCREDITCARD:
    string, optional Max length: 3 Default value: 'YES' description
    APPLYFORCREDITCARD:
    string, optional Max length: 3 description
    APPLYFORBUSINESSCARD:
    string, optional Max length: 3 description
    COMMISSIONSTATUS:
    string, optional Max length: 2 Default value: 'OK' description See all possible values (3)

    Request sample for PAYMENTTYPEEDIT

    					
    ACTION: PAYMENTTYPEEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: GarantiPOS   
    NAME: Garanti03   
    STATUS: OK   
    INSTALLMENTS: 3   
    INTERESTRATE: 0   
    DISCOUNTRATE: 1   
    VALIDFROM: 01-10-2014 02:00   
    VALIDTO: 01-10-2030 02:00
    APPLYFORDEBITCREDITCARD: YES
    APPLYFORBUSINESSCARD: NO    
    				
    

    Sample response for PAYMENTTYPEEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment Type Enable

    The PAYMENTTYPE action lets you to interact with the payment type feature of Payten Payment Gateway via API. Using this API action you can enable payment type.

    Request parameters
    ACTION:
    PAYMENTTYPEENABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”

    Request sample for PAYMENTTYPEENABLE

    					
    ACTION: PAYMENTTYPEENABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: GarantiPOS
    INSTALLMENTS: 3   
    				
    

    Sample response for PAYMENTTYPEENABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment Type Disable

    The PAYMENTTYPE action lets you to interact with the payment type feature of Payten Payment Gateway via API. Using this API action you can enable payment type.

    Request parameters
    ACTION:
    PAYMENTTYPEDISABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”

    Request sample for PAYMENTTYPEDISABLE

    					
    ACTION: PAYMENTTYPEDISABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: GarantiPOS
    INSTALLMENTS: 3   
    				
    

    Sample response for PAYMENTTYPEDISABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment System Rule

    Payment system rule is a feature that will be used in case of timeout of transaction. It with define the payment system list in which the transaction with be diverted to.

     

    Payment System Rule Add

    The PAYMENTSYSTEMRULEADD action lets you to interact with the payment system rule feature of Payten Payment Gateway via API. Using this API action you can add payment system rule. Based on the RULESCOPE parameter, it can be added default or specific payment system rule.

    • Default, in case the value of RULESCOPE is sent as empty or null.
    • Specific, in case the value of RULESCOPE is payment system name.

    Only one active payment system rule can be added for one payment system, also one default payment system rule.

    Request parameters
    ACTION:
    PAYMENTSYSTEMRULEADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    RULETYPE:
    string, required Max length: 32 description See all possible values (1)
    PAYMENTSYSTEMRULESCOPE:
    string, optional Max length: 128 description
    STATUS:
    string, required Max length: 2 Default value: 'OK' Durum See all possible values (3)
    PAYMENTSYSTEMLIST:
    string, required Max length: 4000 description
    ERRORCODE:
    string, optional Max length: 10 description
    PAYMENTTYPE:
    string, optional Max length: 10 description

    Request sample for PAYMENTSYSTEMRULEADD

    					
    ACTION: PAYMENTSYSTEMRULEADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    RULETYPE: TIMEOUT  
    PAYMENTSYSTEMRULESCOPE: GarantiPOS   
    PAYMENTSYSTEMLIST: AkbankPOS;TebPOS;  
    STATUS: OK   
    
    

    Sample response for PAYMENTSYSTEMRULEADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
      "ruleCode" : "Code-5GsFk0OMkS"
    }
    				
     

    Payment System Rule Edit

    The PAYMENTSYSTEMRULEEDIT action lets you to interact with the payment system rule feature of Payten Payment Gateway via API. Using this API action you can edit payment system rule.

    Request parameters
    ACTION:
    PAYMENTSYSTEMRULEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    RULECODE:
    string, required Max length: 16 description
    RULETYPE:
    string, required Max length: 32 description See all possible values (1)
    PAYMENTSYSTEMRULESCOPE:
    string, optional Max length: 128 description
    STATUS:
    string, required Max length: 2 Default value: 'OK' Durum See all possible values (3)
    PAYMENTSYSTEMLIST:
    string, required Max length: 4000 description
    ERRORCODE:
    string, optional Max length: 10 description
    PAYMENTTYPE:
    string, optional Max length: 10 description

    Request sample for PAYMENTSYSTEMRULEEDIT

    					
    ACTION: PAYMENTSYSTEMRULEEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    RULECODE: Code-5GsFk0OMkS
    RULETYPE: TIMEOUT
    PAYMENTSYSTEMRULESCOPE: AkbankPOS   
    PAYMENTSYSTEMLIST: GarantiPOS;TebPOS;
    STATUS: OK   
    
    

    Sample response for PAYMENTSYSTEMRULEEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
      "ruleCode" : "Code-5GsFk0OMkS"
    }
    				
     

    Payment System Rule Delete

    The PAYMENTSYSTEMRULEDELETE action lets you to interact with the payment system rule feature of Payten Payment Gateway via API. Using this API action you can delete payment system rule.

    Request parameters
    ACTION:
    PAYMENTSYSTEMRULEDELETE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    RULECODE:
    string, required Max length: 16 description

    Request sample for PAYMENTSYSTEMRULEDELETE

    					
    ACTION: PAYMENTTYPEENABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    RULECODE: Code-5GsFk0OMkS
    				
    

    Sample response for PAYMENTSYSTEMRULEDELETE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment Policy

     

    Payment Policy Add

    The PAYMENTPOLICYADD action lets you to add Payment Policy by providing merchantBusinessId, Currency, Payment System, PPolicy etc.

    Request parameters
    ACTION:
    PAYMENTPOLICYADD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PPOLICY:
    string, required Max length: 30 description See all possible values (6)
    CURRENCY:
    string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    AMOUNTLIMIT:
    decimal, conditional Max length: 30 description

    Request sample for PAYMENTPOLICYADD

    					
    ACTION: PAYMENTPOLICYADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: [MyPaymentSystem]
    CURRENCY: [TRY]
    PPOLICY: [THD_BASED_ON_LIMIT]
    AMOUNTLIMIT: [300]
    
    

    Sample response for PAYMENTPOLICYADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Payment Policy Edit

    The PAYMENTPOLICYEDIT action lets you to edit an existing Payment Policy by providing merchantBusinessId, Currency, Payment System, PPolicy etc.

    Request parameters
    ACTION:
    PAYMENTPOLICYEDIT, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PPOLICY:
    string, required Max length: 30 description See all possible values (6)
    CURRENCY:
    string, conditional Max length: 3 ISO Alpha transaction currency code like EUR, USD, GBP. See all possible values (35)
    AMOUNTLIMIT:
    decimal, conditional Max length: 30 description

    Request sample for PAYMENTPOLICYEDIT

    					
    ACTION: PAYMENTPOLICYEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEM: [MyPaymentSystem]
    CURRENCY: [TRY]
    PPOLICY: [THD_BASED_ON_LIMIT]
    AMOUNTLIMIT: [300]
    
    

    Sample response for PAYMENTPOLICYEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Message Content

     

    Message Content Add

    The MESSAGECONTENTADD action lets you to add a new Message Content that can be like: Email, Remainder Email, SMS, SMS Remainder etc.

    Request parameters
    ACTION:
    MESSAGECONTENTADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    TITLE:
    string, required Max length: 100 description
    CONTENT:
    string, required Max length: 4000 description
    MESSAGECONTENTTYPE:
    string, required Max length: 32 description See all possible values (49)
    LANGUAGE:
    string, required Max length: 2 description
    ISDISPLAYED:
    string, optional Max length: 3 description

    Request sample for MESSAGECONTENTADD

    					
    ACTION: MESSAGECONTENTADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    TITLE: [TITLE]
    CONTENT: [CONTENT]
    MESSAGECONTENTTYPE: [EMAIL]
    LANGUAGE: [LANGUAGE]
    ISDISPLAYED: [ISDISPLAYED]
    
    

    Sample response for MESSAGECONTENTADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    Message Content Edit

    The MESSAGECONTENTEDIT action lets you to edit an existing Message Content by providing title, content, type etc.

    Request parameters
    ACTION:
    MESSAGECONTENTEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MESSAGECONTENTTYPE:
    string, required Max length: 32 description See all possible values (49)
    LANGUAGE:
    string, required Max length: 2 description
    TITLE:
    string, optional Max length: 100 description
    CONTENT:
    string, optional Max length: 4000 description
    ISDISPLAYED:
    string, optional Max length: 3 description

    Request sample for MESSAGECONTENTEDIT

    					
    ACTION: MESSAGECONTENTEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    TITLE: [My new title]
    CONTENT: [My new content]
    MESSAGECONTENTTYPE: [EMAIL]
    LANGUAGE: [LANGUAGE]
    ISDISPLAYED: [ISDISPLAYED]
    
    

    Sample response for MESSAGECONTENTEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
    				
     

    e-Wallet actions

     

    Add Card

    Using the EWALLETADDCARD request, you can add cards to Payten Payment Gateway. All of the card information is stored in compliance with the PSI-DSS standards. Please note that there is no validity check (luhn check) of the provided card number & exp date while adding them. This model assumes that those checks are performed by merchants before making the "add" request. If you're using CSE, you may pass encrypted card data with the CSE SDK as ENCRYPTEDDATA only. If you want to do AUTH 3D for cardholder, you can send the card holder on the 3D journey first(see Auth 3D ), then pass the AUTH3DTOKEN returned from the Auth 3D. When using Auth 3D, you don't need to send card pan/expiry as they're stored during the 3D journey. If parameter TRXACTION is sent on request, depending on card type we will perform first a sale/preauth and later perform void action.

    Request parameters
    ACTION:
    EWALLETADDCARD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    CUSTOMER:
    string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    CARDPAN:
    string, conditional Max length: 19 PAN number of the card.
    CARDEXPIRY:
    string, conditional Max length: 7 Expiry date of the card. Format should be [mm.yy].
    NAMEONCARD:
    string, conditional Max length: 64 Kart üzerindeki isim.
    AUTH3DTOKEN:
    string, optional Max length: 16 Başarılı 3D Kimlik Doğrulama işleminden sonra üretilen benzersiz değer.
    ENCRYPTEDDATA:
    string, optional Max length: 2048 Şifreli müşteriye duyarlı bilgi içerir.
    Şifrelemeden önce: p=5456165456165454&y=2020&m=12&c=000&cn=John Doe&n=n9Kf9wUzQ21Xa63B, nerede p - kart numarası, y - son kullanma tarihi, m - son kullanma ayı, cn - kart sahibinin adı, n - nonce.
    CARDSAVENAME:
    string, required Max length: 255 Given name for the saved card.
    CUSTOMERNAME:
    string, optional Max length: 128 Name of the Customer.
    CUSTOMEREMAIL:
    string, optional Max length: 64 Customer e-mail.
    CUSTOMERPHONE:
    string, optional Max length: 64 Customer phone / mobile number.
    DEALERCODE:
    string, optional Max length: 32 Bayi Kodu
    CUTOFFDAY:
    integer, optional Max length: 2 description
    TRXACTION:
    string, optional Max length: 3 description See all possible values (2)
    DEALERTYPENAME:
    string, optional Max length: 256 description
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
      {"SaveCard": "NO"}
    • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
      {"PopUpOpenWhenChecked": "NO"}
    • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
      {"SAVECARDREMINDERPOPUP": "YES"}
    • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
      {"BNPLREMINDERPOPUP": "YES"}
    • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
      {"ForceSave": "NO"}
    • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
      {"ListCard": "NO"}
    • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
      {"CVV": "NO"}
    • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
      {"MailOrder": "NO"}
    • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
      {"PREAUTH":"YES"}
    • SubMerchantCode - additional parameter sent to bank during financial transactions.
      {"SubMerchantCode": "70885124022"}
    • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
      {"IsbankBolumKodu": 1}
    • IsbankGroupId - additional parameter for transactions sent to Isbank
      {"ISBANK.GROUPID": "string"}
    • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
      {"IMMEDIATEREDIRECTION": "YES"}
    • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
      {"RETURNSCRIPT": JS Function provided by merchant!}
    • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
      {"HalkbankKobiKartDestek":"YES"}
    • ReturnTime - return time to merchant return url after payment has been processed.
      {"ReturnTime": 2}
    • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
      {"DealerCode": "Dealer01"}
    • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
      {"QIWI": "YES"}
    • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
      {"GIROPAY": "YES"}
    • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
      {"IDEAL": "YES"}
    • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
      {"SOFORT": "YES"}
    • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
      {"EPS": "YES"}
    • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
      {"MULTIBANCO": "YES"}
    • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
      {"MYBANK": "YES"}
    • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
      {"BANCONTACT": "YES"}
    • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
      {"TRUSTPAY": "YES"}
    • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
      {"SAFETYPAY": "YES"}
    • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
      {"P24": "YES"}
    • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
      {"FINNISHONLINEBANKING": "YES"}
    • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
      {"BOLETO": "YES"}
    • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
      {"ELO": "YES"}
    • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
      {"SEPA": "YES"}
    • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
      {"ALIPAY": "YES"}
    • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
      {"COMMERCECODES":["10","20","30"]}
    • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
      {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
    • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
      {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
    • User - parameter that indicates the user, who has done payment on behalf of customer.
      {"USER":"user@email.com"}
    • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
      {"SIPAY":"YES"}
    • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
      {"WECHATPAY": "YES"}
    • IframeDomainUrl - indicates from which URL address payment will be proceesed.
      {"IframeDomainUrl": "www.w3school.com"}
    • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
      {"APPLYADDITIONALMATURITY": "YES"}
    • DealerUserEmail - It represents the email of dealer user.
    • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
      {"AxessMobil.Enabled": "NO"}
    • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
      {"AxessMobil.PaymentSystem": "PaymentSystem"}
    • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
      {"COMPAY.LOAN": "YES"}
    • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
      {"COMPAY.TRANSFER": "YES"}
    • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
      {"PAPARA.PAYMENT": "YES"}
    • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
      {"INVOICETYPES": ["SALE", "DISCOUNT"]}
    • SubCustomer - parameter to differentiate the cards of same the customer.
      {"SubCustomer": "SubCustomer1"}

    Split payment parameters


    • SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
    • SpMaxSplitCount - maximum splits that can be done during payment.
      {"SpMaxSplitCount":3}
    • SpTotalAmount - total amount for a split payment.
      {"SpTotalAmount":50}
    • SpBusinessMaxInst
      {"SpBusinessMaxInst":4}
    • SpPersonalMaxInst
      {"SpPersonalMaxInst":3}
    • SpGroupNumber - field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}

    Other bank parameters


    • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
      {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
    • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
      {"GarantiPayPaymentSystem":"PaymentSystemName"}
    • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"GarantiSubMerchantCode":"123456789"}
    • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"YkbSubMerchantCode":"123456789"}
      For payment faciliatior options use:
      {
      "YKB.subMrcId": "152135125",
      "YKB.mrcPfId": "1531235126",
      "YKB.mcc": "1325"
      }
    • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
      {"VakifbankSubMerchantCode":"SubMerchantCode"} or
      {"VakifbankIdentity":"123456789"}
    • VAKIFBANK TOS REFUND SERVICE
      {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
      "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
      "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
      "VakifbankRefundService.DESCRIPTION":"description" }
      Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
    • ISBANK
      {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
    • DENIZBANK
      {"SubMerchantCode": 123456789012345}
    • ZIRAATBANK
      {"SubMerchantCode": VKN/TCKN}
    • AKBANK
      {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
    • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
    • HALKBANK
      {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
    • TURKIYEFINANS
      {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
    • VAKIFBANK
      {"HostSubmerchantID": ASSECOTFKB}
    • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
      {"QNBFinansSubMerchantCode": "345"}
    • QNBFINANSBANK
      {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
    • INGBANK
      {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
    • SEKERBANK
      {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
    • ODEABANK
      { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
    • ANADOLU
      { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
    • TEB
      {
      "TEB.SUBMERCHANTNAME": "SubMerchantName" }
    • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
    • ALBARAKA
      { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
    • KUVEYTTURK
      { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
      "KUVEYTURK.BKMID":"string" }
    • ZIRAATBANKKURUMSALKART
      Equal installments
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
      "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
      }

      Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
      "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
      "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
      }
    • MULTINET
      { "MULTINET.MERCHANTPRODUCTID": "142" }
    • PARATIKA
      { "ParatikaMerchantId": "10000000",
      "MerchantKey":"testKey",
      "ParatikaSellerItems":
      [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

    Notification Integration Model


    • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or

    Sample request

    					
    ACTION: EWALLETADDCARD
    MERCHANT: [MERCHANT]
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    CUSTOMER: merchant20140920
    NAMEONCARD: Name on Card
    CUSTOMERNAME: Test Customer
    CUSTOMEREMAIL: merchant20140920@email.com
    CUSTOMERPHONE: +901234567890
    CARDEXPIRY: 12.2023
    CARDNAME: Test Customer
    CARDSAVENAME: my_card_01
    MERCHANTPAYMENTID: session-merchant20140920-00
    CARDPAN: 540667***0637
    
    				

    Sample response

    					
    {
         "cardToken":"ZP7BJ24P5HTA4EKKHMOAEAPWJWSWKMCKQ54EWK37IBAEUPPN",
        "responseCode":"00",
        "responseMsg":"Approved",
        "panLast4":"0637",
        "cardBin":"540667",
        "customer":"merchant20140920",
        "cardExpiry":"12.2023"
    }
    				
     

    Edit Card

    The EWALLETEDITCARD request lets you edit the existing cards by providing their token value. The only fields that are allowed to be edited are the card expiry date and the saved card name.

    Request parameters
    ACTION:
    EWALLETEDITCARD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    CARDTOKEN:
    string, required Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
    CARDEXPIRY:
    string, optional Max length: 7 Expiry date of the card. Format should be [mm.yy].
    NAMEONCARD:
    string, optional Max length: 64 Kart üzerindeki isim.
    CARDSAVENAME:
    string, optional Max length: 255 Given name for the saved card.
    CUTOFFDAY:
    integer, optional Max length: 2 description
    FORGROUP:
    string, optional Max length: 3 Default value: 'NO' FORGROUP parametresi, aynı Kart Paylaşım Grubundaki diğer satıcıların kaydettikleri kartları kullanarak işlem sorgulamasını ve / veya işlemesini sağlar. See all possible values (2)
    TRXACTION:
    string, optional Max length: 3 description See all possible values (2)
    DEALERTYPENAME:
    string, optional Max length: 256 description
    EXTRA:
    string, optional Max length: 4000

    Extra Parameter is a custom parameter that is used to pass certain parameters for different banks or other usage. This parameter gets its argument as a JSON(URL encoded) format which is then parsed. EXTRA: {"Name" : Value}

    Parameters

    Below are given parameters that can be sent on extra and examples for each of them. (parameter name is case-insensitive)

    • SaveCard - parameter to differentiate if card should be saved or not. Possible values: YES/NO.
      {"SaveCard": "NO"}
    • PopUpOpenWhenChecked - shows Card Saving Terms and Conditions when they are accepted (checked). Possible values: YES/NO.
      {"PopUpOpenWhenChecked": "NO"}
    • SAVECARDREMINDERPOPUP - shows a popup that gives the user the option to save the card after a successful Hosted Payment Page payment. Possible values: YES/NO.
      {"SAVECARDREMINDERPOPUP": "YES"}
    • BNPLREMINDERPOPUP - shows a popup that gives the user the option to go back to the payment page and continue with loan payment after a failed card transaction on the Hosted Payment Page. Possible values: YES/NO.
      {"BNPLREMINDERPOPUP": "YES"}
    • ForceSave - parameter to differentiate if card should be forced to be saved or not. ForceSave and SaveCard can not be sent together. ForceSave has priority over SaveCard. Possible values: YES/NO.
      {"ForceSave": "NO"}
    • ListCard - parameter to differentiate if Registered Card panel should be displayed on Wallet Page or not. Registered Cards by default are enabled on Wallet Page. Possible values: YES/NO.
      {"ListCard": "NO"}
    • CVV - parameter to differentiate if CVV should be given on HPP or not. CVV input by default is enabled on HPP. Possible values: YES/NO.
      {"CVV": "NO"}
    • MailOrder - parameter to specify which merchants' transactions will be sent with moto label autotmatically. Possible values: YES/NO.
      {"MailOrder": "NO"}
    • PREAUTH - parameter used to process 3D transactions as a PreAuth transaction instead of Sale. Possible values: YES/NO.
      {"PREAUTH":"YES"}
    • SubMerchantCode - additional parameter sent to bank during financial transactions.
      {"SubMerchantCode": "70885124022"}
    • IsbankBolumKodu - additional parameter for transactions sent to Isbank, default value is 1.
      {"IsbankBolumKodu": 1}
    • IsbankGroupId - additional parameter for transactions sent to Isbank
      {"ISBANK.GROUPID": "string"}
    • IMMEDIATEREDIRECTION - redirect immediately to customer URL on successful action, default value is NO.
      {"IMMEDIATEREDIRECTION": "YES"}
    • RETURNSCRIPT - if this parameter is sent, the js function sent will be called after a successful card save on wallet page.
      {"RETURNSCRIPT": JS Function provided by merchant!}
    • HalkbankKobiKartDestek - if this parameter is sent, Halkbank Kobi Kart tab will be shown on Default HPP. Possible values: YES/NO.
      {"HalkbankKobiKartDestek":"YES"}
    • ReturnTime - return time to merchant return url after payment has been processed.
      {"ReturnTime": 2}
    • DealerCode - parameter that indicates dealers, when transactions are made. Unique for every dealer.
      {"DealerCode": "Dealer01"}
    • QIWI - if this parameter is sent as "YES", authentication is done using GiroGate QIWI payment method. Possible values: YES/NO.
      {"QIWI": "YES"}
    • GIROPAY - if this parameter is sent as "YES", authentication is done using GiroGate GIROPAY payment method. Possible values: YES/NO.
      {"GIROPAY": "YES"}
    • IDEAL - if this parameter is sent as "YES", authentication is done using GiroGate IDEAL payment method. Possible values: YES/NO.
      {"IDEAL": "YES"}
    • SOFORT - if this parameter is sent as "YES", authentication is done using GiroGate SOFORT payment method. Possible values: YES/NO.
      {"SOFORT": "YES"}
    • EPS - if this parameter is sent as "YES", authentication is done using GiroGate EPS payment method. Possible values: YES/NO.
      {"EPS": "YES"}
    • MULTIBANCO - if this parameter is sent as "YES", authentication is done using GiroGate MULTIBANCO payment method. Possible values: YES/NO.
      {"MULTIBANCO": "YES"}
    • MYBANK - if this parameter is sent as "YES", authentication is done using GiroGate MYBANK payment method. Possible values: YES/NO.
      {"MYBANK": "YES"}
    • BANCONTACT - if this parameter is sent as "YES", authentication is done using GiroGate BANCONTACT payment method. Possible values: YES/NO.
      {"BANCONTACT": "YES"}
    • TRUSTPAY - if this parameter is sent as "YES", authentication is done using GiroGate TRUSTPAY payment method. Possible values: YES/NO.
      {"TRUSTPAY": "YES"}
    • SAFETYPAY - if this parameter is sent as "YES", authentication is done using GiroGate SAFETYPAY payment method. Possible values: YES/NO.
      {"SAFETYPAY": "YES"}
    • P24 - if this parameter is sent as "YES", authentication is done using GiroGate P24 payment method. Possible values: YES/NO.
      {"P24": "YES"}
    • FINNISHONLINEBANKING - if this parameter is sent as "YES", authentication is done using GiroGate FINNISHONLINEBANKING payment method. Possible values: YES/NO.
      {"FINNISHONLINEBANKING": "YES"}
    • BOLETO - if this parameter is sent as "YES", authentication is done using GiroGate BOLETO payment method. Possible values: YES/NO.
      {"BOLETO": "YES"}
    • ELO - if this parameter is sent as "YES", authentication is done using GiroGate ELO payment method. Possible values: YES/NO.
      {"ELO": "YES"}
    • SEPA - if this parameter is sent as "YES", authentication is done using GiroGate SEPA payment method. Possible values: YES/NO.
      {"SEPA": "YES"}
    • ALIPAY - if this parameter is sent as "YES", authentication is done using GiroGate ALIPAY payment method. Possible values: YES/NO.
      {"ALIPAY": "YES"}
    • COMMERCECODES - if this parameter should be sent as JSON Array of only strings, maximum installments available to card holder will be set in the payments. Possible values: 1-99
      {"COMMERCECODES":["10","20","30"]}
    • ReflectCommission - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is reflected to amount. It works only for dealers.
      {"ReflectCommission":"YES", "DealerCode":"Dealer01"}
    • IgnoreRates - if this parameter is sent as "YES" and DealerCode extra parameter is provided, commission is not reflected to amount. It works only for dealers.
      {"IgnoreRates":"YES", "DealerCode":"Dealer01"}
    • User - parameter that indicates the user, who has done payment on behalf of customer.
      {"USER":"user@email.com"}
    • SIPAY - if this parameter is sent, Sipay tab will be shown on Default HPP. Possible values: YES/NO.
      {"SIPAY":"YES"}
    • WECHATPAY - if this parameter is sent as "YES", authentication is done using GiroGate WECHATPAY payment method. Possible values: YES/NO.
      {"WECHATPAY": "YES"}
    • IframeDomainUrl - indicates from which URL address payment will be proceesed.
      {"IframeDomainUrl": "www.w3school.com"}
    • APPLYADDITIONALMATURITY - if this parameter is sent as "YES", payment type maturity commissions will be applied to the installments. Possible values: YES/NO.
      {"APPLYADDITIONALMATURITY": "YES"}
    • DealerUserEmail - It represents the email of dealer user.
    • AxessMobil.Enabled - Activate Axess Mobil Tab. Possible values: YES/NO.
      {"AxessMobil.Enabled": "NO"}
    • AxessMobil.PaymentSystem - Activate Axess Mobil Tab. Possible values: StringValue.
      {"AxessMobil.PaymentSystem": "PaymentSystem"}
    • COMPAY.LOAN - Activate Compay Loan Tab. Possible values: YES/NO.
      {"COMPAY.LOAN": "YES"}
    • COMPAY.TRANSFER - Activate Compay Transfer Tab. Possible values: YES/NO.
      {"COMPAY.TRANSFER": "YES"}
    • PAPARA.PAYMENT - Activate Papara Payment Tab. Possible values: YES/NO.
      {"PAPARA.PAYMENT": "YES"}
    • INVOICETYPES - used in EXTRA of QUERYINVOICE to query multiple Invoice Types. It is sent as JSON Array. Possible values: SALE, PREAUTH and DISCOUNT.
      {"INVOICETYPES": ["SALE", "DISCOUNT"]}
    • SubCustomer - parameter to differentiate the cards of same the customer.
      {"SubCustomer": "SubCustomer1"}

    Split payment parameters


    • SpCode - unique code for split payment.
      {"SpCode":"Code-1234567890"}
    • SpMaxSplitCount - maximum splits that can be done during payment.
      {"SpMaxSplitCount":3}
    • SpTotalAmount - total amount for a split payment.
      {"SpTotalAmount":50}
    • SpBusinessMaxInst
      {"SpBusinessMaxInst":4}
    • SpPersonalMaxInst
      {"SpPersonalMaxInst":3}
    • SpGroupNumber - field for grouping split payments.
      {"SpGroupNumber":"Code-1234"}

    Other bank parameters


    • BKMEXPRESS - include BKMExpressV2 payment system name like below to have BKM Express tab on Default HPP
      {"BkmExpressV2PaymentSystem":"PaymentSystemName"}
    • GARANTIPAY - include GarantiPay payment system name like below to have GarantiPay tab on Default HPP
      {"GarantiPayPaymentSystem":"PaymentSystemName"}
    • GARANTI - include "GarantiSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"GarantiSubMerchantCode":"123456789"}
    • YKB - include "YkbSubMerchantCode" parameter to override default "SubMerchantCode" parameter
      {"YkbSubMerchantCode":"123456789"}
      For payment faciliatior options use:
      {
      "YKB.subMrcId": "152135125",
      "YKB.mrcPfId": "1531235126",
      "YKB.mcc": "1325"
      }
    • Vakifbank - For insurance companies payments made with submerchant include one of the parameters below:
      {"VakifbankSubMerchantCode":"SubMerchantCode"} or
      {"VakifbankIdentity":"123456789"}
    • VAKIFBANK TOS REFUND SERVICE
      {"VakifbankRefundService.RECIPIENTBRANCHCODE":"testBranchCode",
      "VakifbankRefundService.RECIPIENTBANKCODE":"testBankCode",
      "VakifbankRefundService.PAYMENTDATE":"dd-MM-yyyy HH:mm",
      "VakifbankRefundService.DESCRIPTION":"description" }
      Payment Facilitator (PF) fields shown below can be sent in EXTRA field in the following way.
    • ISBANK
      {"ISBANK.SUBMERCHANTID": 65504389},{"ISBANK.SUBMERCHANTPOSTALCODE": 34234},{"ISBANK.SUBMERCHANTCITY": İstanbul}, ISBANK.SUBMERCHANTCOUNTRY": Türkiye},{"ISBANK.SUBMERCHANTMCC": 4829},{"ISBANK.SUBMERCHANTNIN": 123456789},{"ISBANK.SUBMERCHANTURL": www.merchanturl.com}
    • DENIZBANK
      {"SubMerchantCode": 123456789012345}
    • ZIRAATBANK
      {"SubMerchantCode": VKN/TCKN}
    • AKBANK
      {"AKBANK.SUBMERCHANTID": 65504389},{"AKBANK.SUBMERCHANTPOSTALCODE": 34234},{"AKBANK.SUBMERCHANTCITY": İstanbul},{"AKBANK.SUBMERCHANTCOUNTRY": Türkiye},{"AKBANK.SUBMERCHANTMCC": 4829},{"AKBANK.SUBMERCHANTNIN": 123456789},{"AKBANK.SUBMERCHANTURL": www.merchanturl.com},{"AKBANK.VISASUBMERCHANTID": 000000},{"AKBANK.VISAPFID": 1111111},{"AKBANK.PAYMENTMETHOD": AKBANKCUZDAN},{"AKBANK.MOBILEECI": 300},{"AKBANK.WALLETPROGRAMDATA": 300},{"AKBANK.MOBILEASSIGNED": 300000},{"AKBANK.MOBILEDEVICETYPE": 10}
    • HALKKOBIKART {"HALKKOBIKART.SUBMERCHANTNAME":"string", "HALKKOBIKART.SUBMERCHANTID":"string", "HALKKOBIKART.SUBMERCHANTPOSTALCODE":"string", "HALKKOBIKART.SUBMERCHANTCITY":"string", "HALKKOBIKART.SUBMERCHANTCOUNTRY":"string", "HALKKOBIKART.SUBMERCHANTMCC":"string", "HALKKOBIKART.HALKKOBIKARTDESTEK":"Yes/No", "HALKKOBIKART.OZELTAKSITLIISLEM":"S/E", "HALKKOBIKART.ODEMESIKLIGI":"1 if OZELTAKSITLIISLEM=E", "HALKKOBIKART.MIKTAR_[1-12]":"decimal", "HALKKOBIKART.TARIH_[1-12]":"YYYYMMDD "}
    • HALKBANK
      {"HALKBANK.SUBMERCHANTPOSTALCODE": "153123512", "HALKBANK.SUBMERCHANTNAME": "SubMerchantName", "HALKBANK.SUBMERCHANTMCC": "1535", "HALKBANK.SUBMERCHANTID": "5353535", "HALKBANK.SUBMERCHANTCOUNTRY": "Country", "HALKBANK.SUBMERCHANTCITY": "City"}
    • TURKIYEFINANS
      {"TURKIYEFINANS.SUBMERCHANTNAME": ASSECOTFKB},{"TURKIYEFINANS.SUBMERCHANTID": 9586886},{"TURKIYEFINANS.SUBMERCHANTCITY": ISTANBUL},{TURKIYEFINANS.SUBMERCHANTCOUNTRY": TR},{"TURKIYEFINANS.SUBMERCHANTMCC": 4814},{"TURKIYEFINANS.SUBMERCHANTFACILITATORID": 00516941},{"TURKIYEFINANS.SUBMERCHANTPOSTALCODE": 34467}
    • VAKIFBANK
      {"HostSubmerchantID": ASSECOTFKB}
    • QNBFinansSubMerchantCode - Sub merchant code for only new QNB Finansbank
      {"QNBFinansSubMerchantCode": "345"}
    • QNBFINANSBANK
      {"QNBFINANS.PAYMENTFACILITATORID": "13151251235", "QNBFINANS.SUBMERCHANTCODE": "56126262345", "QNBFINANS.INDSALESORGID": "9982522523", "QNBFINANS.SUBMERCHANTMCC": "4343", "QNBFINANS.CARDACCEPTORNAME": "AcceptorName", "QNBFINANS.CARDACCEPTORCITY": "AcceptorCity", "QNBFINANS.CARDACCEPTORPOSTALCODE": "AcceptorPostalCode", "QNBFINANS.CARDACCEPTORSTREET": "AcceptorStreet", "QNBFINANS.CARDACCEPTORCOUNTRY": "AcceptorCountry", "QNBFINANS.CARDACCEPTORSTATE": "AcceptorState"}
    • INGBANK
      {"INGBANK.SUBMERCHANTMCC": "143", "INGBANK.SUBMERCHANTPOSTALCODE": "00000", "INGBANK.SUBMERCHANTNAME": "Name", "INGBANK.SUBMERCHANTCITY": "City", "INGBANK.SUBMERCHANTCOUNTRY": "Country", "INGBANK.SUBMERCHANTFACILITATORID": "1512531515", "INGBANK.SUBMERCHANTORGANIZATIONID": "52523525253", "INGBANK.SUBMERCHANTID": "7121363216"}
    • SEKERBANK
      {"SEKERBANK.SUBMERCHANTID": "340410030", "SEKERBANK.SUBMERCHANTNAME": "CYBERSOFTPF", "SEKERBANK.SUBMERCHANTCITY": "ISTANBUL", "SEKERBANK.SUBMERCHANTCOUNTRY": "792", "SEKERBANK.SUBMERCHANTPOSTALCODE": "81410", "SEKERBANK.SUBMERCHANTMCC": "2233"}
    • ODEABANK
      { "ODEABANK.PAYMENTFACILITATORID":"string", "ODEABANK.SUBMERCHANTID":"string", "ODEABANK.INDSALESORGID":"string", "ODEABANK.SUBMERCHANTMCC":"string", "ODEABANK.CARDACCEPTORNAME":"string", "ODEABANK.CARDACCEPTORSTREET":"string", "ODEABANK.CARDACCEPTORCITY":string "ODEABANK.CARDACCEPTORPOSTALCODE":string, "ODEABANK.CARDACCEPTORSTATE":"string" "ODEABANK.CARDACCEPTORCOUNTRY:string}
    • ANADOLU
      { "ANADOLU.SUBMERCHANTNAME":"string", "ANADOLU.SUBMERCHANTID":"string", "ANADOLU.SUBMERCHANTPOSTALCODE":"string", "ANADOLU.SUBMERCHANTCITY":"string", "ANADOLU.SUBMERCHANTCOUNTRY":"string", "ANADOLU.SUBMERCHANTMCC":"string" }
    • TEB
      {
      "TEB.SUBMERCHANTNAME": "SubMerchantName" }
    • VPOSTIMEOUT - Specify VPOS timeout in seconds - Works for Nestpay, Garanti, Denizbank, Vakifbank, HSBC. Example: {"VPOSTIMEOUT":30}
    • ALBARAKA
      { "ALBARAKA.SUBDEALERCODE":"string", "ALBARAKA.TCKN":"string", "ALBARAKA.TAXID":"string" "AlbarakaMailOrder":"YES or NO" (default:NO) }
    • KUVEYTTURK
      { "KUVEYTURK.DESCRIPTION":"string", "KUVEYTURK.IDENTITYTAXNUMBER":"string", "KUVEYTURK.DEFERRINGCOUNT":"string", "KUVEYTURK.SUBMERCHANTID":"string", "KUVEYTURK.SUBMERCHANTIDENTITYTAXNUMBER":"string", "KUVEYTURK.VPOSSUBMERCHANTID":"string",
      "KUVEYTURK.BKMID":"string" }
    • ZIRAATBANKKURUMSALKART
      Equal installments
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESITTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "5",
      "ZIRAATBANKKURUMSALKART.ODEMEPERIYODU": "2"
      }

      Flexible installments - up to 12 installments (MIKTAR_*, TARIH_*)
      {
      "ZIRAATBANKKURUMSALKART.KURUMSALKARTISLEMTIPI": "ESNEKTAKSITLISATIS",
      "ZIRAATBANKKURUMSALKART.TAKSITVEYAVADESAYISI": "3",
      "ZIRAATBANKKURUMSALKART.MIKTAR_1": "100",
      "ZIRAATBANKKURUMSALKART.TARIH_1": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_2": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_2": "20210916",
      "ZIRAATBANKKURUMSALKART.MIKTAR_3": "50",
      "ZIRAATBANKKURUMSALKART.TARIH_3": "20210916",
      }
    • MULTINET
      { "MULTINET.MERCHANTPRODUCTID": "142" }
    • PARATIKA
      { "ParatikaMerchantId": "10000000",
      "MerchantKey":"testKey",
      "ParatikaSellerItems":
      [{"productCode": "Sellers1","amount": 55,"name": "keyboard", "description": "OYUN BİLGİSAYARI","quantity": 1, "productCategoryCode": "4722", "sellerId": "TRFONGG2020001", "sellerPaymentAmount":55}] }

    Notification Integration Model


    • Example: {"NOTIFICATION_INTEGRATION_MODEL" : "API"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_THREED"} or {"NOTIFICATION_INTEGRATION_MODEL" : "DIRECTPOST_NON_THREED"} or

    Sample request

    					
    ACTION: EWALLETEDITCARD
    MERCHANT: [MERCHANT]
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    CARDTOKEN: ZP7BJ24P5HTA4EKKHMOAEAPWJWSWKMCKQ54EWK37IBAEUPPN
    CARDSAVENAME: My Card Name (New)
    CARDEXPIRY: 12.2020     
    				

    Sample response

    					
    {
        "cardToken":"ZP7BJ24P5HTA4EKKHMOAEAPWJWSWKMCKQ54EWK37IBAEUPPN",
        "responseCode":"00",
        "responseMsg":"Approved",
    	"cardBin": "540667",
        "panLast4": "0637"
    }                       
    				
     

    Delete Card

    The EWALLETDELETECARD request allows you to remove customer cards from Payten Payment Gateway system. Once a card is removed it cannot be queried, edited or used for any kind of payment. The ewallet remove request can be sent to Payten Payment Gateway using the following fields:

    Request parameters
    ACTION:
    EWALLETDELETECARD, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    CARDTOKEN:
    string, required Max length: 64 Numeric value replacing card number & expiry date. Required when none of the other card information are provided.
    FORGROUP:
    string, optional Max length: 3 Default value: 'NO' FORGROUP parametresi, aynı Kart Paylaşım Grubundaki diğer satıcıların kaydettikleri kartları kullanarak işlem sorgulamasını ve / veya işlemesini sağlar. See all possible values (2)

    Sample request

    					
    ACTION: EWALLETDELETECARD
    MERCHANT: [MERCHANT]
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    CARDTOKEN: ZP7BJ24P5HTA4EKKHMOAEAPWJWSWKMCKQ54EWK37IBAEUPPN
    				

    Sample response

    					
    {
        "responseCode":"00",
        "responseMsg":"Approved"
    }                       
    				
     

    Is Card Savable

    The EWALLETISCARDSAVABLE request lets you to get information if card is savable

    Request parameters
    ACTION:
    EWALLETISCARDSAVABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    CUSTOMER:
    string, conditional Max length: 128 The Merchant System ID for customer. It must be unique within a Merchant.
    CARDPAN:
    string, required Max length: 19 PAN number of the card.
    CARDEXPIRY:
    string, optional Max length: 7 Expiry date of the card. Format should be [mm.yy].

    Sample request

    					
    MERCHANT: [MERCHANT]
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    ACTION: EWALLETEDITCARD
    CARDPAN: 540667***0637 
    CUSTOMER: merchant20140920      
    				

    Sample response

    					
    {
      
        "responseCode":"00",
        "responseMsg":"Approved",
        "isCardSavable":"yes"
    }                       
    				
     

    Merchant Actions

     

    Enable Merchant

    The MERCHANTENABLE action lets you to interact with merchant via API. Using this API action you can enable a merchant.

    Request parameters
    ACTION:
    MERCHANTENABLE, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.

    Request sample for MERCHANTENABLE

    					
    ACTION: MERCHANTENABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
              
    
    

    Sample response for MERCHANTENABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Disable Merchant

    The MERCHANTDISABLE action lets you to interact with merchant via API. Using this API action you can disable a merchant.

    Request parameters
    ACTION:
    MERCHANTDISABLE, required Max length: 128 Description to be provided
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.

    Request sample for MERCHANTDISABLE

    					
    ACTION: MERCHANTDISABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT] 
    
    

    Sample response for MERCHANTDISABLE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Merchant User Actions

     

    Add Merchant User

    The MERCHANTUSERADD action lets you add a new user to a Merchant, and then sends an invitation email to the user.

    Request parameters
    ACTION:
    MERCHANTUSERADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    USERNAME:
    string, required Max length: 128 description
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description
    ROLE:
    string, required Max length: 6 description See all possible values (44)
    TIMEZONE:
    string, required Max length: 64 description
    MERCHANTUSERPASSWORD:
    string, conditional Max length: 128 description
    CONFIRMPASSWORD:
    string, conditional Max length: 128 description
    USERCODE:
    string, conditional Max length: 64 description
    MOBILEPHONE:
    string, optional Max length: 64 description
    CHANNELCODE:
    string, optional Max length: 2 description

    Request sample for MERCHANTUSERADD

    					
    ACTION: MERCHANTUSERADD
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    USERNAME: testuser
    MERCHANTUSEREMAIL: testuser@email.com
    ROLE: MADMN
    MERCHANTUSERPASSWORD : [MERCHANTUSERPASSWORD]
    CONFIRMPASSWORD : [CONFIRMPASSWORD]
    TIMEZONE: GMT-1
    
    
    

    Sample response for MERCHANTUSERADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Merchant User

    The MERCHANTUSEREDIT action lets you edit an existing user to a Merchant. If role is Merchant Api User (MAPIU), please set also PASSWORD and CONFIRMPASSWORD parameters.

    Request parameters
    ACTION:
    MERCHANTUSEREDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description
    USERNAME:
    string, optional Max length: 128 description
    ROLE:
    string, optional Max length: 6 description See all possible values (44)
    ISLOCKED:
    string, optional Max length: 3 description
    MERCHANTUSERPASSWORD:
    string, conditional Max length: 128 description
    CONFIRMPASSWORD:
    string, conditional Max length: 128 description
    USERCODE:
    string, conditional Max length: 64 description
    MOBILEPHONE:
    string, optional Max length: 64 description
    CHANNELCODE:
    string, optional Max length: 2 description

    Request sample for MERCHANTUSEREDIT

    					
    ACTION: MERCHANTUSEREDIT
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    MERCHANTUSEREMAIL: testuser@email.com
    USERNAME: [USERNAME]
    ROLE: [ROLE]
    ISLOCKED: [NO]
    MERCHANTUSERPASSWORD : [MERCHANTUSERPASSWORD]
    CONFIRMPASSWORD : [CONFIRMPASSWORD]
    
    

    Sample response for MERCHANTUSEREDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Reinvite Merchant User

    The MERCHANTUSERREINVITE action sends a reinvitation email to the user.

    Request parameters
    ACTION:
    MERCHANTUSERREINVITE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description

    Request sample for MERCHANTUSERREINVITE

    					
    ACTION: MERCHANTUSERREINVITE
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    MERCHANTUSEREMAIL: testuser@email.com
    
    
    

    Sample response for MERCHANTUSERREINVITE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Authenticate Merchant User

    The AUTHMERCHANTUSER checks whether user is a valid merchant user

    Request parameters
    ACTION:
    AUTHMERCHANTUSER, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description
    MERCHANTUSERPASSWORD:
    string, required Max length: 128 description

    Request sample for AUTHMERCHANTUSER

    					
    ACTION: AUTHMERCHANTUSER
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    MERCHANTUSEREMAIL: testuser@email.com
    MERCHANTUSERPASSWORD: TestPassword1234
    
    

    Sample response for AUTHMERCHANTUSER

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Actions

     

    Add Dealer

    The DEALERADD action lets you to add a dealer. You should give the required parameter also those who are optional like contact information.

    Request parameters
    ACTION:
    DEALERADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    NAME:
    string, required Max length: 128 Isim
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    PARENTDEALERCODE:
    string, optional Max length: 32 description
    CONTACTNAME:
    string, optional Max length: 128 Contact Name
    CONTACTPHONE:
    string, optional Max length: 32 Contact Phone
    CONTACTEMAIL:
    string, optional Max length: 128 Contact Email
    CONTACTFAX:
    string, optional Max length: 64 Contact Fax
    CONTACTWEBADDRESS:
    string, optional Max length: 64 Contact Web Address
    CONTACTPOSTCODE:
    string, required Max length: 32 description
    CONTACTADDRESS:
    string, required Max length: 128 description
    CITYID:
    string, required Max length: 16 Bayının şehir bilgisi
    DEALERTYPES:
    string, optional Max length: 1024 description
    TCKN:
    string, conditional Max length: 11 TC Kimlik Numarası. VKN bilgisi verilmediği durumda, TCKN parametresi zorunludur.
    VKN:
    string, conditional Max length: 11 Vergi Kimlik Numarası. TCKN bilgisi verilmediği durumda, VKN parametresi zorunludur.
    ADJUSTRATES:
    string, optional Max length: 3 description See all possible values (2)

    Request sample for DEALERADD

    					
    ACTION: DEALERADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERCODE:[DEALER CODE]
    NAME:[DEALER NAME]
    STATUS:[OK]
    CONTACTNAME:[CONTACT NAME]
    CONTACTPHONE:[123456789]
    CONTACTEMAIL:[dealer@email.com]
    CONTACTFAX:[123456]
    CONTACTPOSTCODE:[11111]
    CONTACTADDRESS:[Maslak]
    CITYID: [009000TUR034]
    CONTACTWEBADDRESS:[www.dealer.com]   
    DEALERTYPENAME: [] 
    
    

    Sample response for DEALERADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Dealer

    The DEALEREDIT action lets you to edit an existing dealer. You should provide dealer code and merchant and you can update name, status or contact information.

    Request parameters
    ACTION:
    DEALEREDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    NAME:
    string, optional Max length: 128 Isim
    CONTACTNAME:
    string, optional Max length: 128 Contact Name
    CONTACTPHONE:
    string, optional Max length: 32 Contact Phone
    CONTACTEMAIL:
    string, optional Max length: 128 Contact Email
    CONTACTFAX:
    string, optional Max length: 64 Contact Fax
    CONTACTWEBADDRESS:
    string, optional Max length: 64 Contact Web Address
    CONTACTPOSTCODE:
    string, optional Max length: 32 description
    CONTACTADDRESS:
    string, optional Max length: 128 description
    CITYID:
    string, optional Max length: 16 Bayının şehir bilgisi
    DEALERTYPES:
    string, optional Max length: 1024 description
    TCKN:
    string, optional Max length: 11 TC Kimlik Numarası. VKN bilgisi verilmediği durumda, TCKN parametresi zorunludur.
    VKN:
    string, optional Max length: 11 Vergi Kimlik Numarası. TCKN bilgisi verilmediği durumda, VKN parametresi zorunludur.
    ADJUSTRATES:
    string, optional Max length: 3 description See all possible values (2)
    DEALERPORTALTOUR:
    string, optional Max length: 4000 description

    Request sample for DEALEREDIT

    					
    ACTION: DEALEREDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERCODE:[DEALERCODE]
    NAME:[]
    CONTACTNAME:[]
    CONTACTPHONE:[]
    CONTACTEMAIL:[]
    CONTACTFAX:[]
    CONTACTPOSTCODE:[]
    CONTACTADDRESS:[]
    CITYID: []
    CONTACTWEBADDRESS:[]
    DEALERTYPENAME: []   
    
    

    Sample response for DEALEREDIT

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Enable Dealer

    The DEALERENABLE action lets you to make a request for Enabling the existing Dealer. You should provide dealer code and write a reason (free text) why this Dealer should be enabled

    Request parameters
    ACTION:
    DEALERENABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    REASON:
    string, required Max length: 256 Reason

    Request sample for DEALERENABLE

    					
    ACTION: DEALERENABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERCODE:[DEALERCODE]
    REASON:[]
    
    

    Sample response for DEALERENABLE

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Disable Dealer

    The DEALERDISABLE action lets you to disable an existing Dealer, but while disabling you should give a reason why is disabling. At the REASON you can enter the values:
    SRR for: Sales Rep Request
    VRRA for: Void/Refund Rule Action
    and EBA for: Expired Business Agreement


    Request parameters
    ACTION:
    DEALERDISABLE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 128 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    REASON:
    string, required Max length: 4 Reason

    Request sample for DEALERDISABLE

    					
    ACTION: DEALERDISABLE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERCODE:[DEALERCODE]
    REASON:[]
    
    

    Sample response for DEALERDISABLE

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Add MerchantUser Dealer

    The MERCHANTUSERDEALERADD action lets you to associate a merchant user with dealers. You should give the MERCHANTUSEREMAIL and DealerCodes parameter. Note that if you want to associate more than one dealer, than please send delearsCode separated with comma (,).

    Request parameters
    ACTION:
    MERCHANTUSERDEALERADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description
    DEALERCODES:
    string, required Max length: 32000 description

    Request sample for MERCHANTUSERDEALERADD

    					
    ACTION: MERCHANTUSERDEALERADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]  
    DEALERCODES:[Code1, Code2]   
    
    

    Sample response for MERCHANTUSERDEALERADD

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Merchant User Dealer Remove

    The MERCHANTUSERDEALERREMOVE action lets you to remove the Relation between Merchant User and Dealer. You should give the MERCHANTUSEREMAIL and DealerCodes parameter. Note that if you want to remove more than one dealer, than please send delearsCode separated with comma (,).

    Request parameters
    ACTION:
    MERCHANTUSERDEALERREMOVE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    MERCHANTUSEREMAIL:
    string, required Max length: 128 description
    DEALERCODES:
    string, required Max length: 32000 description

    Request sample for MERCHANTUSERDEALERREMOVE

    					
    ACTION: MERCHANTUSERDEALERREMOVE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    MERCHANTUSEREMAIL: [MERCHANTUSEREMAIL]  
    DEALERCODES:[Code1, Code2]   
    
    

    Sample response for MERCHANTUSERDEALERREMOVE

    					{
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Type Actions

     

    Add Dealer Type

    The DEALERTYPEADD action lets you to add a Dealer Type. You should give the required parameter also those who are optional like descriptionRequired & maxInstallmentCount.

    To releate a Dealer Type with Payment Systems, you can send payment systems name separated by comma (,)

    Request parameters
    ACTION:
    DEALERTYPEADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERTYPENAME:
    string, required Max length: 256 description
    DESCRIPTIONREQUIRED:
    string, optional Max length: 3 Default value: 'no' description
    DESCRIPTIONPRESENT:
    string, optional Max length: 3 Default value: 'no' description
    DEFAULTSUBDEALERTYPE:
    string, optional Max length: 3 Default value: 'no' description
    MAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    PAYMENTSYSTEMS:
    string, optional Max length: 512 Payment System names seperated by comma (,).
    COMMERCECODE:
    integer, optional Max length: 2 description

    Request sample for DEALERTYPEADD

    					
    ACTION: DEALERTYPEADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERTYPENAME:[Mobile Phone]
    DESCRIPTIONREQUIRED:[YES]
    MAXINSTALLMENTCOUNT:[2]
    PAYMENTSYSTEMS: [Akbank,Halkbank]
    
    

    Sample response for DEALERTYPEADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Dealer Type

    The DEALERTYPEEDIT action lets you to edit an existing Dealer Type. You should provide dealerType name and merchant and you can update descriptionRequired or maxInstallmentCount.

    Request parameters
    ACTION:
    DEALERTYPEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERTYPENAME:
    string, required Max length: 256 description
    DESCRIPTIONREQUIRED:
    string, optional Max length: 3 Default value: 'no' description
    DESCRIPTIONPRESENT:
    string, optional Max length: 3 Default value: 'no' description
    DEFAULTSUBDEALERTYPE:
    string, optional Max length: 3 Default value: 'no' description
    MAXINSTALLMENTCOUNT:
    integer, optional Max length: 2 description
    PAYMENTSYSTEMS:
    string, optional Max length: 1024 Payment System names seperated by comma (,).
    COMMERCECODE:
    integer, optional Max length: 2 description

    Request sample for DEALERTYPEEDIT

    					
    ACTION: DEALERTYPEEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    DEALERTYPENAME:[Mobile Phone]
    DESCRIPTIONREQUIRED:[NO]
    MAXINSTALLMENTCOUNT:[12]
    PAYMENTSYSTEMS: [Isbank,Garanti Bank]
    
    

    Sample response for DEALERTYPEEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete Dealer Type

    The DEALERTYPEDELETE action lets you to delete an existing Dealer Type. You should provide dealerType name.

    Request parameters
    ACTION:
    DEALERTYPEDELETE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERTYPENAME:
    string, required Max length: 256 description

    Request sample for DEALERTYPEDELETE

    					
    ACTION: DEALERTYPEDELETE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    DEALERTYPENAME:[Mobile Phone]
    
    

    Sample response for DEALERTYPEDELETE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Payment System Type Actions

     

    Add Dealer Payment System Type

    The DEALERPSTADD action lets you to add a Dealer Payment System Type. You should give the required parameter subMerchantCode, dealer and paymentSystemType.

    For GARANTI please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / TerminalId
    INTEGRATIONEXTRAFIELD01 / MerchantId

    Request parameters
    ACTION:
    DEALERPSTADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SUBMERCHANTCODE:
    string, required Max length: 30 description
    BANKMERCHANTID:
    string, optional Max length: 16 description
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INTEGRATIONEXTRAFIELD00:
    string, optional Max length: 64 Entegrasyon Alanı 0
    INTEGRATIONEXTRAFIELD01:
    string, optional Max length: 64 Entegrasyon Alanı 1

    Request sample for DEALERPSTADD

    					
    ACTION: DEALERPSTADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    SUBMERCHANTCODE: [123456]
    PAYMENTSYSTEMTYPE: [FINANS]
    DEALERCODE: [Kadikoy]
    
    

    Sample response for DEALERPSTADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Dealer Payment System Type

    The DEALERPSTEDIT action lets you to edit an existing Dealer Payment System Type. You should provide dealer code and paymentSystemType and you can update subMerchantCode.

    For GARANTI please specify parameters on the fields
    INTEGRATIONEXTRAFIELD00 / TerminalId
    INTEGRATIONEXTRAFIELD01 / MerchantId

    Request parameters
    ACTION:
    DEALERPSTEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    SUBMERCHANTCODE:
    string, optional Max length: 30 description
    BANKMERCHANTID:
    string, optional Max length: 16 description
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INTEGRATIONEXTRAFIELD00:
    string, optional Max length: 64 Entegrasyon Alanı 0
    INTEGRATIONEXTRAFIELD01:
    string, optional Max length: 64 Entegrasyon Alanı 1

    Request sample for DEALERPSTEDIT

    					
    ACTION: DEALERPSTEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    SUBMERCHANTCODE: [1111111]
    PAYMENTSYSTEMTYPE: [FINANS]
    DEALERCODE: [Kadikoy]
    
    

    Sample response for DEALERPSTEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete Dealer Payment System Type

    The DEALERPSTDELETE action lets you to delete an existing Dealer Payment System Type. You should provide dealerCode and paymentSystemType.

    Request parameters
    ACTION:
    DEALERPSTDELETE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    PAYMENTSYSTEM:
    string, conditional Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    PAYMENTSYSTEMTYPE:
    string, conditional Max length: 32 Ödeme Sistemi (VPOS) See all possible values (82)
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu

    Request sample for DEALERPSTDELETE

    					
    ACTION: DEALERPSTDELETE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    PAYMENTSYSTEMTYPE: [FINANS]
    DEALERCODE: [Kadikoy]
    
    

    Sample response for DEALERPSTDELETE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Commission Rate Actions

     

    Add Dealer Commission Rate

    The DEALERCOMMISSIONRATEADD action lets you to add a Dealer Commission Rate. You should give the required parameter installments, commission rate, dealer code and payment system name.

    Request parameters
    ACTION:
    DEALERCOMMISSIONRATEADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    COMMISSIONRATE:
    decimal, required Max length: 7 description
    STATUS:
    string, optional Max length: 2 Durum See all possible values (3)

    Request sample for DEALERCOMMISSIONRATEADD

    					
    ACTION: DEALERCOMMISSIONRATEADD   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    INSTALLMENTS: [1]
    PAYMENTSYSTEM: [Akbank]
    DEALERCODE: [Kadikoy]
    COMMISSIONRATE: [20.00]
    
    

    Sample response for DEALERCOMMISSIONRATEADD

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Edit Dealer Commission Rate

    The DEALERCOMMISSIONRATEEDIT action lets you to edit an existing Dealer Commission Rate. You should provide dealer code, installments, payment system name so you can update commission rate.

    Request parameters
    ACTION:
    DEALERCOMMISSIONRATEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.
    COMMISSIONRATE:
    decimal, optional Max length: 7 description
    STATUS:
    string, optional Max length: 2 Durum See all possible values (3)

    Request sample for DEALERCOMMISSIONRATEEDIT

    					
    ACTION: DEALERCOMMISSIONRATEEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    INSTALLMENTS: [1]
    PAYMENTSYSTEM: [Akbank]
    DEALERCODE: [Kadikoy]
    COMMISSIONRATE: [55.33]
    
    

    Sample response for DEALERCOMMISSIONRATEEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete Dealer Commission Rate

    The DEALERCOMMISSIONRATEDELETE action lets you to delete an existing Dealer Commission Rate. You should provide dealerCode, installments and payment system name.

    Request parameters
    ACTION:
    DEALERCOMMISSIONRATEDELETE, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    INSTALLMENTS:
    integer, required Max length: 2 Number of installments. Specified number should exist in Payten Payment Gateway as “defined installment”
    PAYMENTSYSTEM:
    string, required Max length: 128 Name of the payment system (bank payment gateway / vPOS account). Specified name should match the one given in Payten Payment Gateway If not provided, Payten Payment Gateway smart switch feature will used.

    Request sample for DEALERCOMMISSIONRATEDELETE

    					
    ACTION: DEALERCOMMISSIONRATEDELETE   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    INSTALLMENTS: [1]
    PAYMENTSYSTEM: [Akbank]
    DEALERCODE: [Kadikoy]
    
    

    Sample response for DEALERCOMMISSIONRATEDELETE

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Delete All Dealer Commission Rate

    The DEALERCOMMISSIONRATEDELETEAll action lets you to delete all Dealer Commission Rates belong to a specific dealer. DealerCode is required for this action.

    Request parameters
    ACTION:
    DEALERCOMMISSIONRATEDELETEALL, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu

    Request sample for DEALERCOMMISSIONRATEDELETEALL

    					
    ACTION: DEALERCOMMISSIONRATEDELETEALL   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]   
    DEALERCODE: [Kadikoy]
    
    

    Sample response for DEALERCOMMISSIONRATEDELETEALL

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Transaction Rule Actions

     

    Dealer Transaction Rule Edit

    The DEALERTRANSACTIONRULEEDIT action lets you to edit a dealer transaction rule.

    Request parameters
    ACTION:
    DEALERTRANSACTIONRULEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    DEALERCODE:
    string, required Max length: 32 Bayi Kodu
    RULE:
    string, required Max length: 20000 description

    Request sample for DEALERTRANSACTIONRULEEDIT

    					
    ACTION: DEALERTRANSACTIONRULEEDIT   
    MERCHANTUSER: [MERCHANTUSER]   
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]  
    DEALERCODE: [Kadikoy]
    RULE: [%7B%22amountLimit%22%3A6%2C%22dealerCode%22%3A%22d18%22%2C%22timePeriod%22%3A%22YEARLY%22%2C%22action%22%3A%22DENY%22%2C%22currency%22%3A%22TRY%22%2C%22type%22%3A%22SALEPREAUTH_LIMIT_FOR_DEALER%22%7D]
    
    

    Sample response for DEALERTRANSACTIONRULEEDIT

    					
    {
      "responseCode" : "00",
      "responseMsg" : "Approved",
    }
    				
     

    Dealer Business Line Actions

     

    Add Dealer Business Line

    The DEALERBUSINESSLINEADD action lets you to add a Dealer Business Line.

    Request parameters
    ACTION:
    DEALERBUSINESSLINEADD, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional Max length: 128 API Kullanıcısı.
    MERCHANTPASSWORD:
    string, conditional Max length: 128 API Kullanıcı Şifresi.
    IDENTIFIER:
    string, required Max length: 64 description
    NAME:
    string, required Max length: 128 Isim

    Request sample for DEALERBUSINESSLINEADD

                    
    ACTION: DEALERBUSINESSLINEADD
    MERCHANTUSER: [MERCHANTUSER]
    MERCHANTPASSWORD: [MERCHANTPASSWORD]
    MERCHANT: [MERCHANT]
    IDENTIFIER: dealer-business-line-01
    NAME: Dealer Business Line 01
                    
                

    Sample response for DEALERBUSINESSLINEADD

                    
    {
      "responseCode" : "00",
      "responseMsg" : "Approved"
    }
                    
                
     

    Edit Dealer Business Line

    The DEALERBUSINESSLINEEDIT action lets you to edit an existing Dealer Business Line.

    Request parameters
    ACTION:
    DEALERBUSINESSLINEEDIT, required Max length: 128 Description to be provided
    SESSIONTOKEN:
    string, conditional Max length: 48 description
    MERCHANT:
    string, conditional Max length: 16 Merchant business code defined in Payten Payment Gateway.
    MERCHANTUSER:
    string, conditional