Account Payment Create QR

Service Description

Create QR Service is used to generate a UID (Unique Identifier) which has a unique value and represents/contains detailed information about the order/service. Companies may use this UID to create QR code and share it with their customers on the payment step. Thus, customers are able to pay the order amount with the help of QR, via mobile banking application.

This API is in the cash management category

API Profile

Attribute

Value

Name QR Creator
Version V1
Synopsis QR Create Service
Description Creates UID which represents order information
Pre-Conditions HTTP POST method is allowed only in QR Creator service.
Authentication OAuth 2.0 with Client Credentials

Before your application can access the API, it must obtain a new access token for each request. The access token can be used only one time.

Endpoint Definition

QR Creator API’s development live and mock environments routing data. 

EndPoint DEVELOPMENT SANDBOX SERVICE

URI /lcashmanagement/v1/createQR
Base URL https://apis.garantibbva.com.tr


Technology

Technology Stack / DESIGN TIME

Property Value
HTTP Call Method POST
Response Content Type application/json


Request

HTTP POST method is allowed only in QR Create service.

Arguments

The list of arguments by the QR Creator service to be invoked.

Request Fields Type Description Obligation
OrderID String The order/invoice number which is unique Mandatory
OrderAmount String Amount of the order that will be paid by the customer. Mandatory
CurrencyCode String Currency code of the amount that will be paid by the customer. Mandatory
OrderDueDate String Date of order payment in the format of YYYYMMDD  Mandatory
FirmExplanation String Account and receipt explanation. It is an optional field, static explanation will be placed if field is empty Optional
PaymentCode String If a company wants to collect the order amounts in different bank accounts, they can use payment code. Also, customers will see this code as an OrderID tag at the payment step Mandatory
IdentityNum Integer Personel Identification Number of the customer. Mandatory
BlockageInd String Will be sent if the order amount will be blocked at the customer account. It can be used for stock control. Blocked amount can be released or reversed by the company request. Optional
CommentText String A comment that will be showed to the customer at the payment step. Optional

 

​Sample request

  {
    "OrderID":"12345",
    "OrderAmount":"10.00",
    "CurrencyCode":"TL",
    "OrderDueDate":"20190916",
    "FirmExplanation":"Transaction Explanation",
    "PaymentCode":"ORDER",
    "IdentityNum":"11111111110",
    "BlockageInd":"Y",
    "CommentText":"Transaction Comment"
  }
    

Response

The QR Creator service returns the UID which represents the order.

Sample response

  "result": {
    "code": 202,
    "info": "The request has been received"
  },
  "response":{
    "uuid":"76b15227-c6b4-482b-8f0b-00ef2bc957d3",
    "resultCode":"B001",
    "resultMessage":"İşleminiz tamamlandı"
  }
    
Return Codes & Error Handling

Response codes from Send Money service request

Code

Description

Type

200 OK SUCCESS
405 {http.method} Method Not Allowed CALL METHOD ERROR
400 Invalid Request MISSING PARAMETERS
401 Invalid Credentials UNAUTHORIZED
429 API plan limit exceeded RATE LIMITING
500 Internal Server Error SYSTEM ERROR

Return Messages

CODE

RETURN RESPONSE

400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
      }
    }
401
  {
    "result": {
      "code": 401,
      "info": "Invalid Credentials"
      }
    }
405
  {
    "result": {
      "code": 405,
      "info": "POST Method Not Allowed"
      }
    }
429
  {
    "result": {
      "code": 429,
      "info": "API plan limit exceeded"
      }
    }
500
  {
    "result": {
      "code": 500,
      "info": "Internal Server Error"
      }
    }

 

Response Messages

CODE

RETURN RESPONSE

400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H011",
      "resultMessage":"Sipariş/Fatura numarası dolu olmalıdır. "
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H004",
      "resultMessage":"Döviz tipi dolu olmalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H005",
      "resultMessage":"Sipariş tutarı dolu olmalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H006",
      "resultMessage":"Sipariş vade tarihi dolu olmalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H007",
      "resultMessage":"Döviz tipi hatalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H001",
      "resultMessage":"Kurum kodu dolu olmalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H002",
      "resultMessage":"Ödeme tipi dolu olmalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H008",
      "resultMessage":"Kurum statüsü uygun değildir."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H003",
      "resultMessage":"Kurum tahsilata kapalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H999",
      "resultMessage":"Kurum numarası alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H998",
      "resultMessage":"Sipariş numarası alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H997",
      "resultMessage":"Sipariş tutarı alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H996",
      "resultMessage":"Sipariş tutarı formatı hatalıdır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H995",
      "resultMessage":"Döviz tipi alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H994",
      "resultMessage":"Sipariş tarihi alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H993",
      "resultMessage":"Ödeme kodu alanı zorunludur."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H992",
      "resultMessage":"TCKN/VKN alanı geçersiz formattadır."
    }
  }
400
  {
    "result": {
      "code": 400,
      "info": "Invalid Request"
    },
    "response":{
      "resultCode":"H991",
      "resultMessage":"Bloke tipi alanı zorunludur."
    }
  }