Fast
Fast transfer api you can get fast request from your customer
post/api/v1/payment/fast

Request

Request body

application_keystring required

Key of your application in our system.

order_idstring required

Unique identifier of the request in your system. The same order_id can not be used again for the same application.

amountstring required

Requested amount in kuruş, sent as an integer string without separators (amount x 100). For example, 1 TRY must be sent as 100 and 3.42 TRY as 342.

currency'TRY'

Currency of the amount. FAST request to pay is only available in TRY, which is the default.

modestring

'P' for production (default) or 'T' for test. The request is sent through the FAST provider defined for that mode.

languagestring

Language of the response messages. Default is tr. The supported values are listed by the supported_languages api.

descriptionstring

Description shown to the customer in the request to pay. If it is not sent, a default description is used.

purpose_codestring required

Payment purpose code from the TR.OIS.DataCode.OdemeAmaci list, between 01 and 22, for example 04 for e-commerce. Unknown codes are sent as 04.

hash_datastring required

Hash that verifies the request. It is calculated as BASE_64_ENCODE( SHA_256( APPLICATION_KEY + ORDER_ID + AMOUNT + SECRET_KEY ) ), where AMOUNT is the amount value exactly as it is sent.

expiration_datestring date-time

Last date and time the customer can respond to the request to pay. It must be in the future. If it is not sent, it is set to 24 hours from now. Required when requested_payment_date is sent. Values without a time zone are treated as Europe/Istanbul time.

requested_payment_datestring date-time

Date and time the payment should be made. If it is not sent, the request is 'pay now': the payment starts as soon as the customer accepts. If it is sent, the request is 'pay later': expiration_date must also be sent and requested_payment_date can not be before it. Values without a time zone are treated as Europe/Istanbul time.

partial_paymentboolean

Partial payment is not supported yet, only false (default) is accepted: the customer must pay the whole amount.

early_paymentboolean

Only used for 'pay later' requests. If true (default), the customer can pay before requested_payment_date. If false, the payment can only be made on requested_payment_date. For 'pay now' requests it is always sent as true, whatever value is given.

Example request

{
  "application_key": "6e3cdaa3-65df-4eff-aed2-9d74387701dd",
  "order_id": "9ee3fd53-42f9-4f16-b454-77e6b714c2e9",
  "amount": "1250",
  "currency": "TRY",
  "mode": "T",
  "language": "tr",
  "description": "Sample transaction description",
  "purpose_code": "04",
  "hash_data": "uandKBmYrRwYWFcu7A4AoQhqu/MtgZh1fTInaLTC+Zw=",
  "customer": {
    "name": "John Doe",
    "iban": "TR270006400000142993366608",
    "email": "johndoe@xyz.com",
    "ip_address": "1.1.111.111"
  },
  "expiration_date": "2026-10-14T18:00:00",
  "requested_payment_date": "2026-10-15T10:00:00",
  "early_payment": true
}

Response

Successful Response

response_codestring
messagestring
suggestionstring
service_resp_codestring
service_resp_messagestring
transaction_idstring
redirect_urlstring
service_ref_idstring
fast_statusstring
is_successboolean
completedboolean
amountnumber
currencystring

Changes

    • breaking

      the request property's minLength was increased from 0 to 2

    • warning

      the request property's maxLength was set to 2

    • warning

      removed the request property //

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • breaking

      request property was restricted to a list of enum values

    • breaking

      added the pattern ^[0-9]+(?![\s\S]) to the request property

    • info

      added the new TRY enum value to the request property