{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.computop-paygate.com/schemas/credentialOnFile.json",
"title": "credentialOnFile",
"description": "Credential-on-File Transactions",
"type": "object",
"examples": [
{
"type": {
"recurring": {
"recurringFrequency": 30,
"recurringStartDate": "2019-09-14",
"recurringExpiryDate": "2020-09-14"
}
},
"initialPayment": true
},
{
"type": {
"recurring": {
"recurringFrequency": 30,
"recurringStartDate": "2021-09-14",
"recurringExpiryDate": "9999-12-31",
"total": 24,
"curIdx": 5,
"cumulativeAmount": 12000
}
},
"initialPayment": false
},
{
"type": {
"unscheduled": "CIT"
},
"initialPayment": false
},
{
"type": {
"unscheduled": "CIT"
},
"initialPayment": true,
"useCase":"cof"
},
{
"type": {
"installments": {
"total": 8,
"curIdx": 2,
"purchaseAmount": 800000,
"frequency": 30,
"expiryDate": "2020-09-30"
}
},
"initialPayment": false
},
{
"type": {
"installments": {
"total": 8,
"curIdx": 2,
"purchaseAmount": 800000,
"frequency": 30,
"expiryDate": "2020-09-30"
}
},
"initialPayment": false,
"useCase":"fixed"
}
],
"properties": {
"type": {
"type": "object",
"properties": {
"recurring": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Total number of recurring payments."
},
"curIdx": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Current sequence number of recurring payments of the same subscription agreement."
},
"purchaseAmount": {
"type": "integer",
"minimum": 1,
"maximum": 9999999999,
"description": "Total amount for the subscription agreement if known, single recurring/subscription payment in API-amount."
},
"cumulativeAmount": {
"type": "integer",
"minimum": 1,
"maximum": 9999999999,
"description": "Cumulative amount paid so far for this subscription agreement. Credits/refunds do not reduce this amount."
},
"recurringFrequency": {
"type": "integer",
"minimum": 1,
"maximum": 9999,
"description": "Indicates the minimum number of days between recurring authorizations."
},
"recurringStartDate": {
"type": "string",
"format": "full-date",
"description": "YYYY-MM-DD"
},
"recurringExpiryDate": {
"type": "string",
"format": "full-date",
"description": "Date of subscription expiry in format YYYY-MM-DD. Use 9999-12-31 if not specified."
}
},
"required": [
"recurringExpiryDate",
"recurringFrequency"
],
"additionalProperties": false
},
"installments": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Total number of installment payments."
},
"curIdx": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Current sequence number of installment payments."
},
"purchaseAmount": {
"type": "integer",
"minimum": 1,
"maximum": 9999999999,
"description": "Total amount for installment payment; single installment payment in API-amount."
},
"cumulativeAmount": {
"type": "integer",
"minimum": 1,
"maximum": 9999999999,
"description": "Cumulative amount paid by installments so far. Credits/refunds do not reduce this amount."
},
"frequency": {
"type": "integer",
"minimum": 1,
"maximum": 9999,
"description": "Indicates the minimum number of days between installments authorizations."
},
"expiryDate": {
"type": "string",
"format": "full-date",
"description": "YYYY-MM-DD"
}
},
"required": [
"total",
"purchaseAmount"
],
"additionalProperties": false
},
"unscheduled": {
"type": "string",
"enum": [
"CIT",
"MIT"
],
"description": "CIT: Customer initiated transactions; MIT: Merchant initiated transactions."
}
},
"oneOf": [
{
"required": [
"recurring"
]
},
{
"required": [
"installments"
]
},
{
"required": [
"unscheduled"
]
}
],
"additionalProperties": false
},
"initialPayment": {
"type": "boolean"
},
"useCase": {
"type": "string",
"enum" : ["cof", "ucof", "fixed", "flexibleAmount", "flexibleFrequency"],
"description": "Type of useCase (unscheduled: cof, ucof // recurring: fixed, flexibleAmount, flexibleFrequency)"
}
},
"required": [
"type",
"initialPayment"
],
"additionalProperties": false
} |