Request Data for Process Transaction
Additional data can be sent to store information along with the transaction.
The following keys are NOT allowed:
_accountNumber, userAgent, fingerprint, sourcePlatform,
tokenizationID, trazabilyCode, transactionCycle, RequestId,
PartnerAuthCode, onTest, threeDSEnrolled, threeDSAuthenticated.
Additionally, certain processing parameters can be included in this field:
Transaction Initiator Indicator
If a specific Payment Initiator Indicator value is required for processing, it can be sent as additional data.
{
//...
"additional": {
"initiatorIndicator": "CARDHOLDER_COF"
}
}
Response Data for Process Transaction
There is additional data received in response to a transaction processing request. The reception of this data depends on various factors and comes in the response as additional.
{
"status": {
"status": "APPROVED",
"reason": "00",
"message": "Approved",
"date": "2024-07-17T15:28:35-05:00"
},
// ...
"additional": {
// Additional data
"bin": "411076",
"terminalNumber": "00990101",
// ...
}
}
Examples of Additional Data
| Key | Example | Description |
|---|---|---|
credit | {"type": "00", "groupCode": "C", "code": "0", "installments": 0} | Credit data, learn more at Credit. |
totalAmount | 63.58 | Total amount. |
interestAmount | 5.78 | Interest amount. |
installmentAmount | 2.65 | Installment amount. |
iceAmount | 0 | ICE amount. |
line | 123 | Position in the closing file (Line). |
cardType | credit | Card type. |
trazabilyCode | 999900 | Traceability code. |
transactionCycle | 3 | Transaction cycle. |
RequestId | 1560778247 | Request ID. |
PartnerAuthCode | 5d029607e1abb | Partner authorization code. |
merchantCode | 4682312740123 | Merchant code. |
terminalNumber | 00990101 | Terminal number. |
bin | 411076 | BIN, first digits of the card. |
bankName | Bank Name | Bank name. |
accountNumber | 1111 | Account number. |
expiration | 1222 | Card expiration in the format (month)(year). |
installments | 2 | Number of installments. |
pocket | 80 | Pocket identification number depending on the provider. |
fiscalControlNumber | Control: MYHFC-KEHKC | Fiscal control number. |
fiscalControlProvider | ET | Fiscal control provider, example ET as Evertec. |
PAN | klbrfTC1ol9BV7sFP9bw66 nLH77QMYAA3GRZrzjutci Fv/gqg9xZs8n7gPNxRRsl | Card number + initialization vector encrypted in base64, learn more at Card return |
canRetry | true | Indicates whether a declined or failed transaction is eligible for reprocessing with an alternative payment method. |
requiresConfirmation | true | Indicates whether a transaction requires confirmation before processing. |
Credit
This field specifies the credit options available to finance the total amount of a payment. The structure of the credits array depends on the provider and service configuration.
There are two ways to report credits:
- Grouped structure: groups the same credit condition in
installmentsand usestype,code, andgroupCodeas provider codes. - Per-installment structure: reports each financing option as a separate element and uses
kindas the functional identifier of the credit modality.
Grouped Structure:
- type: Identifier that represents the credit type.
- groupCode: Code that groups credits by category.
- installments: Number of installments available for the credit.
- code: Unique code associated with the specific credit.
- description: Detailed description of the financing terms.
Credits by Provider
DATAFAST - MEDIANET - AUSTRO - INTERDIN
They share the same structure and credit description according to groupCode and code:
[
{
"code" : "1",
"type" : "00",
"groupCode" : "C",
"installments" : [1],
"description" : "Current payment, 1-month grace period",
}
{
"code" : "3",
"type" : "01",
"groupCode" : "D",
"installments" : [3],
"description" : "Interest-free installment payment with a 3-month grace period before payments begin",
}
...
]
REDEBAN
{
"code": "0",
"groupCode": "C",
"type": "00",
"installments": [1,2,3,4,5,12],
"description": "Installments",
}
TRANSERVER
[
{
"code": "000000",
"groupCode": "C",
"type": "00",
"description": "Current payment",
"installments": [1]
},
{
"code": "03BCR",
"type": "0",
"groupCode": "Q",
"installments": [3],
"description": "PLAN 0 BCR 3C BCR"
},
]
PAYSTUDIO
[
{
"code": "00",
"groupCode": "Q",
"type": "00",
"description": "No installments",
"installments": [1]
},
{
"code": "00",
"groupCode": "Q",
"type": "00",
"installments": [3],
"description": "Installments",
},
{
"code": "00",
"groupCode": "Q",
"type": "00",
"installments": [2,24],
"description": "Installments at cash price",
},
]
PAYSTUDIO TS flavour with per-installment structure
This structure is currently available only for PAYSTUDIO services with flavour equal to TS. Other providers and other PAYSTUDIO flavour values continue to use the grouped structure described above.
In PAYSTUDIO TS flavour, credits is returned without type, code, groupCode, or installments. Each element represents a single financing option.
Structure:
- installment: Number of installments for the option.
- description: Text visible to the payer.
- kind: Classification of the credit modality. This value replaces network codes when selecting and processing the installment.
[
{
"installment": 1,
"description": "No installments",
"kind": "ISSUER_NOT_FEE"
},
{
"installment": 2,
"description": "Interest-free installments",
"kind": "MERCHANT_WITHOUT_INTEREST"
},
{
"installment": 3,
"description": "Interest-free installments",
"kind": "ISSUER_WITHOUT_INTEREST"
},
{
"installment": 6,
"description": "Installments",
"kind": "ISSUER_UNKNOWN"
}
]
In this structure, the integrator must send the selected option's kind inside instrument.credit along with the installment number:
{
"instrument": {
"credit": {
"installment": 6,
"kind": "ISSUER_UNKNOWN"
}
}
}
If kind is sent together with type or code, kind takes priority for PAYSTUDIO TS flavour services with this structure. If credit is not sent, the default one-installment credit is used.
kind Values
The kind value is built using the SOURCE_MODALITY format:
Equivalence examples:
For UNKNOWN credits in PAYSTUDIO TS flavour, use the interest service before processing when the final installment amount needs to be known. If the service cannot determine the applicable rate, the request may be rejected with reason NR.