feature/OVPAY-1499 #41

Open
bboterm wants to merge 2 commits from feature/OVPAY-1499 into develop

View File

@ -426,18 +426,21 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -688,18 +691,21 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -715,23 +721,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -926,18 +926,21 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -1118,18 +1121,21 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -1248,8 +1254,7 @@ paths:
},
],
"validationResult": null,
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments":
@ -1528,18 +1533,21 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -1555,23 +1563,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -1591,7 +1593,7 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The order can not be deleted.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
@ -1834,14 +1836,16 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "PRODUCT_CHOICE_REQUIRED",
"parameter": "orderline.productId",
"detail": "The chosen product is not a leaf node product. Please choose one of its child products.",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].productId",
"parameter": null,
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -2008,22 +2012,30 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
"parameter": "personalaccountdata.birthdate",
"detail": "Personal account data birthdate is required for this product.",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate",
"parameter": null,
"type": "REMARK",
},
{
"code": "TOKEN_REQUIRED",
"detail": "A valid customer token is required before purchasing this product.",
"path": null,
"parameter": "customerToken",
"type": "REMARK",
},
{
"code": "VALIDFROM_REQUIRED",
"parameter": "orderline.validFrom",
"detail": "A valid 'valid from' date is required for this product.",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -2037,23 +2049,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -2176,18 +2182,23 @@ paths:
"customerTokens": [],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
{
"code": "CUSTOMERTOKEN_REQUIRED",
"detail": "A valid customer token is required before purchasing this product.",
"path": null,
"parameter": "customerTokenId",
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -2201,17 +2212,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The start date of the product is not allowed. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -2275,17 +2286,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Product requires product with productId=2",
"pointer": "#/1/orderLine",
"orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d",
"productId": 3,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -2506,14 +2517,16 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
"parameter": "personalaccountdata.birthdate",
"detail": "Personal account data birthdate is required for this product.",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate",
"parameter": null,
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -2721,8 +2734,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments": [],
@ -2810,14 +2822,16 @@ paths:
"customerTokens": [],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "CUSTOMERTOKEN_REQUIRED",
"detail": "A valid customer token is required before purchasing this product.",
"path": null,
"parameter": "customerTokenId",
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -3037,8 +3051,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments": [],
@ -3251,12 +3264,14 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "invalid",
"additionalRemarks": [],
"validationErrors":
"validations":
[
{
"code": "PERSONAL_ACCOUNT_DATA_AGE_PROFILE_MISMATCH",
"detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19",
"pointer": "#/customerTokens/878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e/personalAccountData/birthdate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[?(@.customerTokenId=='878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e')].ovPayToken.personalAccountData.birthdate",
"parameter": null,
"type": "ERROR",
},
],
},
@ -3436,8 +3451,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments": [],
@ -3596,8 +3610,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
{
"orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71",
@ -3645,8 +3658,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments":
@ -3883,8 +3895,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments":
@ -4080,18 +4091,21 @@ paths:
},
],
"validationResult": "invalid",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors":
[
{
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
"parameter": null,
"type": "ERROR",
},
],
},
@ -4415,8 +4429,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments": [],
@ -4662,8 +4675,7 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
"validations": [],
},
],
"payments": [],
@ -4911,14 +4923,16 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "Direct debit mandate is required for this order.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -5166,14 +5180,16 @@ paths:
],
"orderAccountingStatuses": [],
"validationResult": "preliminary",
"additionalRemarks":
"validations":
[
{
"code": "MANDATE_REQUIRED",
"detail": "A valid mandate is required before purchasing this product.",
"path": null,
"parameter": "directDebitMandateId",
"type": "REMARK",
},
],
"validationErrors": [],
},
],
"payments": [],
@ -5286,17 +5302,17 @@ paths:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"detail": "One or more required attributes are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Product requires product with productId=2",
"pointer": "#/1/orderLine",
"orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d",
"productId": 3,
"code": "REQUIRED_ATTRIBUTE_MISSING",
"detail": "One ore more required attributes are missing.",
"pointer": "$.orderLines[0].productId",
"parameter": null,
},
],
}
@ -5410,21 +5426,37 @@ paths:
summary: Missing parameter(s)
value:
{
"type": "https://www.htm.nl/api/v1/400Error",
"title": "Missing parameter(s)",
"detail": "At least one of the following parameters must be present: birthDate, ovPayTokenId, customerTokenId, (serviceReferenceId and amount), (ovpasNumber and verificationCode)",
"instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c",
"apiErrorCode": "htm.api.err.400.2",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "One or more required parameters are missing or invalid.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"code": "REQUIRED_PARAMETER_MISSING",
"detail": "One ore more required parameters are missing.",
"pointer": null,
"parameter": "birthdate, ovPayTokenId, customerTokenId",
},
],
}
Invalid date format:
summary: Invalid date format
value:
{
"type": "https://www.htm.nl/api/v1/400Error",
"title": "Invalid input",
"detail": "The given birthDate is not a valid Date format",
"instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c",
"apiErrorCode": "htm.api.err.400.3",
"type": "https://htm.nl/api/v1/probs/400/badrequest",
"title": "Your request is not valid.",
"detail": "One or more parameters have an invalid format.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"code": "INVALID_PARAMETER_FORMAT",
"detail": "The given birthdate is not a valid Date format.",
"pointer": null,
"parameter": "birthdate",
},
],
}
"404":
description: Not found
@ -5437,11 +5469,19 @@ paths:
summary: No birthdate present in PAD of OVpay token
value:
{
"type": "https://www.htm.nl/api/v1/404Error",
"title": "Missing birthdate in PAD",
"detail": "There is no birthdate present in the PAD of the OVpay token, or there is no PAD present at all",
"instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c",
"apiErrorCode": "htm.api.err.404.1",
"type": "https://htm.nl/api/v1/probs/404/notfound",
"title": "Missing birthdate in PAD.",
"detail": "There is no birthdate present in the PAD of the OVpay token, or there is no PAD present at all.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"code": "MISSING_BIRTHDATE_IN_PAD",
"detail": "Missing birthdate in PAD.",
"pointer": null,
"parameter": "birthdate",
},
],
}
components:
securitySchemes: