Consent Object Error Codes
This document provides a comprehensive reference for validation errors related to the consent object in the Convenient Checkout API. These errors help identify issues with consent data in API requests and guide you in resolving them.
Error Codes Summary
Error Code Summary
| Error Category | Error Title Reference | Error Title | HTTP Status | Error Message |
|---|---|---|---|---|
| CCG Schema Validation | Merchant Consent Text Validation | INVALID_REQUEST | 400 BAD_REQUEST | consent.merchantConsentText contains unsupported characters |
| CCG Schema Validation | Merchant Consent Id Validation | INVALID_REQUEST | 400 BAD_REQUEST | consent.merchantConsentId is required |
| CCG Schema Validation | Consent Collection Timestamp Validation | INVALID_REQUEST | 400 BAD_REQUEST | consent.collectionTimestamp is required |
| CCG Schema Validation | Consent Collection Details Validation | INVALID_REQUEST | 400 BAD_REQUEST | consent.collectionDetails are not valid |
| CCG Schema Validation | Agent Object Requirement with PPD Consent | INVALID_REQUEST | 400 BAD_REQUEST | agent is required when consent.collectionDetails.type is PPD |
Merchant Consent Text Validation
Consent is Invalid
Details:
- Scenario: Merchant consent text is invalid or contains unsupported characters. The text supports alphanumeric characters and a few special characters, but must not contain
{,},+,=,*,^,%,#,~,`,<,>,?,|,\,[, or]. - Resolution: Remove special characters from consent text.
- API Endpoints:
/v2/payments - Scopes:
merchant
Sample Request
{
"merchantConsentText": "Invalid{Text}"
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "consent.merchantConsentText contains unsupported characters"
}
Merchant Consent Id Validation
merchantConsentId is required
Details:
- Scenario: Merchant consent id is missing or invalid. It must be provided and is mandatory for BankAccount payments performed through CCG API. It supports alphanumeric characters and special characters.
- Resolution: Provide a valid merchant consent ID in the request.
- API Endpoints:
/v2/paymentsv2/sessions - Scopes:
merchant,user
Sample Request
{
"merchantConsentId": null
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "consent.merchantConsentId is required"
}
Consent Collection Timestamp Validation
collectionTimestamp is required
Details:
- Scenario: Consent collection timestamp is missing or invalid. It must be provided in ISO date time format (e.g.,
2025-06-03T10:15:30.100+01:00) and is mandatory for BankAccount payments performed through CCG API. - Resolution: Include a valid collection timestamp in ISO 8601 format.
- API Endpoints:
/v2/paymentsv2/sessions - Scopes:
merchant,user
Sample Request
{
"collectionTimestamp": "2025-06-03T10:15:30.100+01:00"
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "consent.collectionTimestamp is required"
}
Consent Collection Details Validation
collectionDetails are not valid
Details:
- Scenario: Consent collection details are missing or invalid. Supported types:
WEB,TEL, andPPD. - Resolution: Provide complete and valid collection details.
- API Endpoints:
/v2/paymentsv2/sessions - Scopes:
merchant,user
WEB Type:
WEB - Sample Valid Requests
- Used for bank account payments performed through CCG UI
- Requires IP address and user agent
{
"consent": {
"merchantConsentId": "consent-123",
"merchantConsentText":"string",
"collectionTimestamp": "2025-06-16T10:15:30.100+01:00",
"collectionDetails": {
"type": "WEB",
"web": {
"ipAddress": "192.168.1.1",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
}
}
}
TEL Type:
TEL - Sample Valid Requests
- Used for bank account payments through both CCG UI & API for agent-based interactions
- Requires inbound phone number with country code and number
{
"consent": {
"merchantConsentId": "consent-456",
"merchantConsentText":"string",
"collectionTimestamp": "2025-06-16T11:30:45.200+01:00",
"collectionDetails": {
"type": "TEL",
"tel": {
"inboundPhoneNumber": {
"countryCode": "1",
"number": "8005551234"
}
}
}
}
}
PPD Type:
PPD - Sample Valid Requests
- Used for bank account payments through CCG API only for agent-based interactions
- No additional fields required PPD Example:
{
"consent": {
"merchantConsentId": "consent-789",
"merchantConsentText":"string",
"collectionTimestamp": "2025-06-16T14:22:15.300+01:00",
"collectionDetails": {
"type": "PPD"
}
}
}
Sample Request
{
"consent": {
"merchantConsentId": "consent-invalid",
"collectionTimestamp": "2025-06-16T09:45:10.500+01:00",
"collectionDetails": {
"type": "INVALID_TYPE"
}
}
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "consent.collectionDetails are not valid"
}
Agent Object Requirement with PPD Consent
agent object is required with PPD consent
Details:
- Scenario: PPD consent requires agent object information.
- Resolution: Include agent object with all required fields when using PPD consent.
- API Endpoints:
/v2/paymentsv2/sessions - Scopes:
merchant,user
Sample Request
{
"consent": {
"merchantConsentId": "consent",
"collectionDetails": {
"type": "PPD"
}
},
"agent": null
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "agent is required when consent.collectionDetails.type is PPD"
}