Skip to main content
Version: v2

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 CategoryError Title ReferenceError TitleHTTP StatusError Message
CCG Schema ValidationMerchant Consent Text ValidationINVALID_REQUEST400 BAD_REQUESTconsent.merchantConsentText contains unsupported characters
CCG Schema ValidationMerchant Consent Id ValidationINVALID_REQUEST400 BAD_REQUESTconsent.merchantConsentId is required
CCG Schema ValidationConsent Collection Timestamp ValidationINVALID_REQUEST400 BAD_REQUESTconsent.collectionTimestamp is required
CCG Schema ValidationConsent Collection Details ValidationINVALID_REQUEST400 BAD_REQUESTconsent.collectionDetails are not valid
CCG Schema ValidationAgent Object Requirement with PPD ConsentINVALID_REQUEST400 BAD_REQUESTagent is required when consent.collectionDetails.type is PPD
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"
}
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/payments v2/sessions
  • Scopes: merchant, user
Sample Request
{
"merchantConsentId": null
}
Sample Response
{
"title": "INVALID_REQUEST",
"status": 400,
"detail": "consent.merchantConsentId is required"
}
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/payments v2/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"
}
collectionDetails are not valid

Details:

  • Scenario: Consent collection details are missing or invalid. Supported types: WEB, TEL, and PPD.
  • Resolution: Provide complete and valid collection details.
  • API Endpoints: /v2/payments v2/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 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/payments v2/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"
}