Everest Card — API reference
  • Credit
  • Debit
  • Prepaid
  • Common Methods
  • OAuth2
  • Delivery
Information
Cards
    Card applications
      getCardApplicationListpostgetDebitApplicationIdByFromShadowCardNumberpostsubmitCardApplicationExtStatuspost
    Card issuance and personalisation
      getApplicableProductsByCustomerNumberpostcreateIndividualCardpostcreateIndividualSupplementaryCardpostcreateCorporateCardpostcreateDummyCorporateCardpostcreateVirtualCardpostgetPendingCardEmbossListpostcancelCardEmbossByShadowCardNumberpost
    Card lifecycle
      getCustomerDebitCardListByTenantIdpostgetCustomerDebitShadowCardsByTenantIdpostchangeCardStatuspostgetCardListpostgetCardListNewpostgetCardInfopostreplaceCardpostchangeAndReplaceCardpostisCardFoundInpostaddDebitCardLogpost
    No-name cards
      createNoNameCardApplicationpostcancelNoNameCardApplicationpostupdateNoNameCardApplicationpostactivateNoNameCardpostcreateCardUsingNoNameApplicationpostcreateAndProcessNoNameCardApplicationpostreplaceNoNameCardpostreplaceCardUsingNoNameApplicationpostchangeAndReplaceNoNameCardpost
Customers and accounts
    Branch management
      changeCardBranchpostchangeCustomerBranchposttransferBranchCustomerpostgetDebitCustomerLisfOfBranchpost
    Customers
      getCorporateCustomerInfoByIndividualCustomerpostgetCustomerAssetpostisCustomerConvertToRipperpostgetCustomerAssetsSummaryDebitpost
    Account linking
      attachCardAccountpostdetachCardAccountpostdetachCardAccountByAccountNumberpostmodifyCardAccountpostlistCardAccountByAccountNumberpostlistCardAccountByShadowCardNumberpostrecreateCustomerCardAccountspostsaveCardAccountCurrencyConversionpostgetCardAccountCurrencyConversionpost
Transactions
    getDebitCardTransactionByUtidpostgetDebitCardTransactionByUtidNewpostgetDebitTransactionAllpostupdateTransactionForBNPLpostgetDigitalSlipReceiptpostgetAuthorizationListByBegindateEnddatepostgetDbttransactionByCardrefCustomernumpost
Limits and controls
    Card and customer limits
      getAvailableECommerceLimitpost
    Operation limits
      getCardLimitationParameterDatapostgetCardOperationLimitpostsetCardOperationLimitpostremoveCardOperationLimitpostgetCustomerOperationLimitpostsetCustomerOperationLimitpostremoveCustomerOperationLimitpostgetCustomerLimitationParameterDatapost
    Permissions and restrictions
      getCardPermissionspostsaveCardPermissionspostsaveCardBnplPermissionpostchangeCardMiscOptionpostgetCardMiscOptionpost
Security
    PIN and card security
      setCardPinpostchangeCardPinpostverifyCardPinpostverifyRsaPinpostsetRsaPinpostchangeRsaPinpostincreasePinTryCountpostverifyRsaPinWithStaticSaltpostverifyCVVpostverifyCVVPartialpostgenerateCVVpostgetCardPinOperationHistorypostresetCvvCounterpost
Disputes
    Disputes and chargebacks
      createDisputeCasepostgetDisputeListpostaddDocumentByCaseNumberpostcancelDisputeCasepost
Platform
    Platform operations
      healthCheckpostrefreshCachepost
    Reference data
      getCardTypeByBinpost
SchemasError codesChannels
powered by Zudoku
Debit Digital Channels Integration
Debit Digital Channels Integration

PIN and card security

Set and change a PIN, manage the try counter, and generate or verify the card verification values.


setCardPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/setCardPin

Sets or updates the PIN for a specific debit card. Accepts card reference number, channel, and new PIN details, and applies the changes to the card securely.

setCardPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

setCardPin › Request Body

SetCardPinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · optional

The platform's own handle for a card, and the identifier most operations take. It is returned by every operation that creates a card and by the card listings; a caller does not compose one.

clearPin
​string · optional

Exactly four digits today, and the four is not in this contract: setCardPin hardcodes it while verifyCardPin and changeCardPin read it from the platform's Pin parameter, so a tenant that changes that parameter changes two of the three.

setCardPin › Responses

Success

SetCardPinResponse
success
​boolean · required

Whether the operation did what it was asked to. A false here arrives with HTTP 200, so it has to be read rather than inferred from the status.

encryptedPin
​string · optional

The PIN block as the key management service produced it. The PIN itself never travels.

POST/IntegrationDigitalChannelDebit/debit/api/setCardPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/setCardPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "008", "shadowCardNumber": "1202262320000394985", "clearPin": "3236" }'
Example Request Body
{ "channel": "008", "shadowCardNumber": "1202262320000394985", "clearPin": "3236" }
json
application/json
Example Responses
{ "encryptedPin": "encryptedPin", "success": true }
json
application/json

changeCardPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/changeCardPin

Changes the PIN of a debit card using the current PIN and returns the status including encrypted PIN, success, and verification flags.

changeCardPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

changeCardPin › Request Body

ChangeCardPinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · optional

The platform's own handle for a card, and the identifier most operations take. It is returned by every operation that creates a card and by the card listings; a caller does not compose one.

currentCardPin
​string · optional

Checked against the platform's Pin parameter rather than a fixed length, so it follows the tenant's configuration and can change without a release.

newCardPin
​string · optional

Checked against the platform's Pin parameter rather than a fixed length, so it follows the tenant's configuration and can change without a release.

changeCardPin › Responses

Success

ChangeCardPinResponse
success
​boolean · required

Whether the operation did what it was asked to. A false here arrives with HTTP 200, so it has to be read rather than inferred from the status.

verified
​boolean · required

Whether the value presented matched the one held.

changed
​boolean · required
encryptedPin
​string · optional

The PIN block as the key management service produced it. The PIN itself never travels.

POST/IntegrationDigitalChannelDebit/debit/api/changeCardPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/changeCardPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "currentCardPin": "currentCardPin", "newCardPin": "newCardPin" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "currentCardPin": "currentCardPin", "newCardPin": "newCardPin" }
json
application/json
Example Responses
{ "encryptedPin": "encryptedPin", "success": true, "verified": true, "changed": true }
json
application/json

verifyCardPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/verifyCardPin

Verifies the PIN of a card. Used to confirm cardholder authorization in debit channels.

verifyCardPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

verifyCardPin › Request Body

VerifyCardPinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · optional

The platform's own handle for a card, and the identifier most operations take. It is returned by every operation that creates a card and by the card listings; a caller does not compose one.

clearCardNumber
​string · optional

A card number is not stored by these services; the platform keeps a shadow card number instead.

clearPin
​string · optional

Exactly four digits today, and the four is not in this contract: setCardPin hardcodes it while verifyCardPin and changeCardPin read it from the platform's Pin parameter, so a tenant that changes that parameter changes two of the three.

verifyCardPin › Responses

Success

VerifyCardPinResponse
verified
​boolean · required

Whether the value presented matched the one held.

lastTryCount
​integer · int32 · required

How many failed attempts stand against the card.

tryCountExceed
​boolean · required

Whether the card has run out of attempts. The card is blocked when it has.

POST/IntegrationDigitalChannelDebit/debit/api/verifyCardPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/verifyCardPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "clearCardNumber": "clearCardNumber", "clearPin": "clearPin" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "clearCardNumber": "clearCardNumber", "clearPin": "clearPin" }
json
application/json
Example Responses
{ "verified": true, "lastTryCount": 0, "tryCountExceed": true }
json
application/json

verifyRsaPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/verifyRsaPin

Verifies the RSA PIN for a card. Ensures secure cardholder authorization using RSA PIN.

verifyRsaPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

verifyRsaPin › Request Body

VerifySecurePinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card the operation acts on, by its shadow card number — the platform's own reference, not the PAN.

ePB
​string · required

The encrypted PIN block to verify.

Its size follows the block format and the key it was built with rather than a column, so no length is published.

operationDate
​string · required

The date the PIN block was produced under.

A date and time as a string, in RFC 3339 form: 2026-10-16T14:30:00Z, or with an offset, 2026-10-16T17:30:00+03:00.

Example: 2026-10-16T14:30:00Z

verifyRsaPin › Responses

Success

VerifySecurePinResponse
verified
​boolean · required

Whether the value presented matched the one held.

lastTryCount
​integer · int32 · required

How many failed attempts stand against the card.

tryCountExceed
​boolean · required

Whether the card has run out of attempts. The card is blocked when it has.

responseCode
​integer · int32 · required

The downstream system's own result code, passed through. 00 and 0 are success; anything else is its refusal, and responseReasonCode or the description says which.

responseDescription
​string · optional

The description of responseCode, carried alongside it for display. It is not a key: match on the code.

POST/IntegrationDigitalChannelDebit/debit/api/verifyRsaPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/verifyRsaPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z" }
json
application/json
Example Responses
{ "verified": true, "lastTryCount": 0, "tryCountExceed": true, "responseCode": 0, "responseDescription": "responseDescription" }
json
application/json

setRsaPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/setRsaPin

Sets the RSA PIN for a card. Used for secure PIN management in debit channels.

setRsaPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

setRsaPin › Request Body

SetSecurePinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card whose PIN is set.

ePB
​string · required

The encrypted PIN block.

Its size follows the block format and the key it was built with rather than a column, so no length is published.

operationDate
​string · required

The date the operation is stamped with.

A date and time as a string, in RFC 3339 form: 2026-10-16T14:30:00Z, or with an offset, 2026-10-16T17:30:00+03:00.

Example: 2026-10-16T14:30:00Z

setRsaPin › Responses

Success

SetSecurePinResponse
success
​boolean · required

Whether the operation did what it was asked to. A false here arrives with HTTP 200, so it has to be read rather than inferred from the status.

encryptedPin
​string · optional

The PIN block as the key management service produced it. The PIN itself never travels.

responseCode
​integer · int32 · optional

The downstream system's own result code, passed through. 00 and 0 are success; anything else is its refusal, and responseReasonCode or the description says which.

responseDescription
​string · optional

The description of responseCode, carried alongside it for display. It is not a key: match on the code.

POST/IntegrationDigitalChannelDebit/debit/api/setRsaPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/setRsaPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z" }
json
application/json
Example Responses
{ "encryptedPin": "encryptedPin", "success": true, "responseCode": 0, "responseDescription": "responseDescription" }
json
application/json

changeRsaPin

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/changeRsaPin

Changes the RSA PIN of a debit card using current and new encrypted PIN blocks. Returns encrypted PIN, success status, and response details.

changeRsaPin › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

changeRsaPin › Request Body

ChangeSecurePinRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card the operation acts on, by its shadow card number — the platform's own reference, not the PAN.

currentEPB
​string · required

The encrypted PIN block holding the cardholder's current PIN.

Its size follows the block format and the key it was built with rather than a column.

newEPB
​string · required

The encrypted PIN block holding the PIN being set.

Its size follows the block format and the key it was built with rather than a column.

operationDateOfCurrent
​string · required

The date currentEPB was produced under; the two are verified as a pair.

A date and time as a string, in RFC 3339 form: 2026-10-16T14:30:00Z, or with an offset, 2026-10-16T17:30:00+03:00.

Example: 2026-10-16T14:30:00Z
operationDateOfNew
​string · required

The date newEPB was produced under, paired with it the same way.

A date and time as a string, in RFC 3339 form: 2026-10-16T14:30:00Z, or with an offset, 2026-10-16T17:30:00+03:00.

Example: 2026-10-16T14:30:00Z

changeRsaPin › Responses

Success

ChangeSecurePinResponse
success
​boolean · required

Whether the operation did what it was asked to. A false here arrives with HTTP 200, so it has to be read rather than inferred from the status.

encryptedPin
​string · optional

The PIN block as the key management service produced it. The PIN itself never travels.

responseCode
​integer · int32 · optional

The downstream system's own result code, passed through. 00 and 0 are success; anything else is its refusal, and responseReasonCode or the description says which.

responseDescription
​string · optional

The description of responseCode, carried alongside it for display. It is not a key: match on the code.

POST/IntegrationDigitalChannelDebit/debit/api/changeRsaPin
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/changeRsaPin \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "currentEPB": "currentEPB", "newEPB": "newEPB", "operationDateOfCurrent": "2026-10-16T14:30:00Z", "operationDateOfNew": "2026-10-16T14:30:00Z" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "currentEPB": "currentEPB", "newEPB": "newEPB", "operationDateOfCurrent": "2026-10-16T14:30:00Z", "operationDateOfNew": "2026-10-16T14:30:00Z" }
json
application/json
Example Responses
{ "encryptedPin": "encryptedPin", "success": true, "responseCode": 0, "responseDescription": "responseDescription" }
json
application/json

increasePinTryCount

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/increasePinTryCount

Increases the PIN try count for a given debit card. Accepts a ShadowCardNumber, Channel, and IncreaseCount to increment the attempt counter via the debit PIN service proxy.

increasePinTryCount › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

increasePinTryCount › Request Body

IncreasePinTryCountRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card the operation acts on, by its shadow card number — the platform's own reference, not the PAN.

increaseCount
​integer · int32 · min: 1 · required

How many tries to add to the card's PIN try count. Negative and zero are refused separately, so the smallest value accepted is 1.

increasePinTryCount › Responses

Success

No data returned
POST/IntegrationDigitalChannelDebit/debit/api/increasePinTryCount
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/increasePinTryCount \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "increaseCount": 0 }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "increaseCount": 0 }
json
application/json
Example Responses
No example specified for this content type

verifyRsaPinWithStaticSalt

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/verifyRsaPinWithStaticSalt

Verifies the RSA PIN with a static salt. Provides additional security for cardholder authentication using salted RSA PIN.

verifyRsaPinWithStaticSalt › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

verifyRsaPinWithStaticSalt › Request Body

VerifyRsaPinWithStaticSaltRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card the operation acts on, by its shadow card number — the platform's own reference, not the PAN.

ePB
​string · required

The encrypted PIN block to verify.

Its size follows the block format and the key it was built with rather than a column, so no length is published.

operationDate
​string · required

The date the PIN block was produced under.

A date and time as a string, in RFC 3339 form: 2026-10-16T14:30:00Z, or with an offset, 2026-10-16T17:30:00+03:00.

Example: 2026-10-16T14:30:00Z
staticSalt
​string · required

The salt the PIN block was built with — the only field separating this operation from verifyRsaPin.

A cryptographic input rather than stored data: no column behind it and no length published.

verifyRsaPinWithStaticSalt › Responses

Success

VerifyRsaPinWithStaticSaltResponse
verified
​boolean · required

Whether the value presented matched the one held.

lastTryCount
​integer · int32 · required

How many failed attempts stand against the card.

tryCountExceed
​boolean · required

Whether the card has run out of attempts. The card is blocked when it has.

responseCode
​integer · int32 · required

The downstream system's own result code, passed through. 00 and 0 are success; anything else is its refusal, and responseReasonCode or the description says which.

responseDescription
​string · optional

The description of responseCode, carried alongside it for display. It is not a key: match on the code.

POST/IntegrationDigitalChannelDebit/debit/api/verifyRsaPinWithStaticSalt
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/verifyRsaPinWithStaticSalt \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z", "staticSalt": "staticSalt" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "ePB": "ePB", "operationDate": "2026-10-16T14:30:00Z", "staticSalt": "staticSalt" }
json
application/json
Example Responses
{ "verified": true, "lastTryCount": 0, "tryCountExceed": true, "responseCode": 0, "responseDescription": "responseDescription" }
json
application/json

verifyCVV

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/verifyCVV

Verifies the CVV of a card. Used for cardholder validation during transactions.

verifyCVV › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

verifyCVV › Request Body

VerifyCVVRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card whose CVV is being checked.

verificationValue
​string · minLength: 3 · maxLength: 3 · required

NotNull · LengthNotEquals — The CVV to check. Exactly 3 characters; any other length is refused before the card is read.

verifyCVV › Responses

Success

VerifyCVVResponse
verified
​boolean · required

Whether the CVV matched. A CVV that does not match is not an error — the call returns 200 with this false, and the card's failed-attempt counter goes up. The value is checked against the card's current expiry date and, failing that, against its previous one, so a CVV that still matches the old expiry verifies.

lastTryCount
​integer · int32 · required

The failed-attempt counter after this call. Zero when the CVV matched, because a match resets it.

tryCountExceed
​boolean · required

True when this call took the counter to the platform's maximum. The next call is refused with 10508 before the CVV is looked at, until the counter is reset.

POST/IntegrationDigitalChannelDebit/debit/api/verifyCVV
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/verifyCVV \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "verificationValue": "verificationValue" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "verificationValue": "verificationValue" }
json
application/json
Example Responses
{ "verified": true, "lastTryCount": 0, "tryCountExceed": true }
json
application/json

verifyCVVPartial

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/verifyCVVPartial

Partially verifies the CVV of a card. Used when partial CVV verification is required for transaction purposes.

verifyCVVPartial › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

verifyCVVPartial › Request Body

VerifyCVVPartialRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card whose CVV is being checked.

​KeyValuePair_2[] · required

NotBetween — The positions to check, as position/value pairs. Two or three pairs, no more and no fewer. Each position is 1 to 3 — the CVV is three digits — and each value is 0 to 9.

verifyCVVPartial › Responses

Success

VerifyCVVPartialResponse
verified
​boolean · required

Whether the value presented matched the one held.

lastTryCount
​integer · int32 · required

How many failed attempts stand against the card.

tryCountExceed
​boolean · required

Whether the card has run out of attempts. The card is blocked when it has.

POST/IntegrationDigitalChannelDebit/debit/api/verifyCVVPartial
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/verifyCVVPartial \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "digits": [ {} ] }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber", "digits": [ {} ] }
json
application/json
Example Responses
{ "verified": true, "lastTryCount": 0, "tryCountExceed": true }
json
application/json

generateCVV

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/generateCVV

Generates the CVV (Card Verification Value) for a given shadow card. Returns the verification value along with any error information. Uses the underlying debit PIN service.

generateCVV › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

generateCVV › Request Body

GenerateCVVRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card to generate a verification value for.

generateCVV › Responses

Success.

Not every failure is a 400. The generator reports several of its own — a key it cannot use, a value it cannot produce — by setting hasError with the reason in errorText, and the call still returns 200. Check hasError before reading verificationValue.

GenerateCVVResponse
hasError
​boolean · required
errorText
​string · optional

The error in words, for a log or a screen rather than for matching.

verificationValue
​string · optional

The card verification value. Computed and compared rather than stored, and returned only where the operation is entitled to it.

POST/IntegrationDigitalChannelDebit/debit/api/generateCVV
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/generateCVV \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber" }
json
application/json
Example Responses
{ "hasError": true, "errorText": "errorText", "verificationValue": "verificationValue" }
json
application/json

getCardPinOperationHistory

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/getCardPinOperationHistory

Retrieves the PIN operation history for a debit card based on ShadowCardNumber. Returns a list of GetCardPinOperationHistory items including ChannelType, InsertDate, OperationResult, OperationResultDescription, OperationType, and OperationTypeDescription. Uses _dcidRepository.GetCardPinOperationHistory to fetch the data.

getCardPinOperationHistory › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

getCardPinOperationHistory › Request Body

GetCardPinOperationHistoryRequest
shadowCardNumber
​string · maxLength: 19 · optional

The platform's own handle for a card, and the identifier most operations take. It is returned by every operation that creates a card and by the card listings; a caller does not compose one.

getCardPinOperationHistory › Responses

Success.

Nothing in this request is validated, and no service stands behind it. The facade reads its own store directly rather than calling the debit pin service, so shadowCardNumber is a query parameter rather than a checked field: a card that does not exist returns an empty history, not a refusal.

GetCardPinOperationHistoryResponse
​array · optional
POST/IntegrationDigitalChannelDebit/debit/api/getCardPinOperationHistory
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/getCardPinOperationHistory \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "shadowCardNumber": "shadowCardNumber" }'
Example Request Body
{ "shadowCardNumber": "shadowCardNumber" }
json
application/json
Example Responses
{ "getCardPinOperationHistoryList": [ { "channelType": "channelType", "insertDate": "2026-10-16T14:30:00Z", "operationResult": "operationResult", "operationResultDescription": "operationResultDescription", "operationType": "operationType", "operationTypeDescription": "operationTypeDescription" } ] }
json
application/json

resetCvvCounter

POST
https://sandboxpub.cms.dgpays.com/SandBox
/IntegrationDigitalChannelDebit/debit/api/resetCvvCounter

Resets the CVV attempt counter for a given shadow card. Accepts the channel and shadow card number as input. Used to allow further CVV attempts after limits are reached.

resetCvvCounter › Headers

evrst-ptrnid
​string

Correlation id for this request. Echo it in your own logs to trace the call through the platform.

Default: x_request_id

resetCvvCounter › Request Body

ResetCvvCounterRequest
channel
​string · maxLength: 3 · required

Three-digit code identifying the channel on behalf of which the request is made (e.g. 002 for Internet). Mandatory in every request. Used for entitlement checks, limit enforcement and audit logging. Channel codes are managed through configuration parameters and may change over time. Refer to the Channels page for the current list of valid codes.

shadowCardNumber
​string · maxLength: 19 · required

The card the operation acts on, by its shadow card number — the platform's own reference, not the PAN.

resetCvvCounter › Responses

Success

No data returned
POST/IntegrationDigitalChannelDebit/debit/api/resetCvvCounter
curl https://sandboxpub.cms.dgpays.com/SandBox/IntegrationDigitalChannelDebit/debit/api/resetCvvCounter \ --request POST \ --header 'Content-Type: application/json' \ --header 'evrst-ptrnid: x_request_id' \ --header 'Authorization: Bearer <access_token>' \ --data '{ "channel": "channel", "shadowCardNumber": "shadowCardNumber" }'
Example Request Body
{ "channel": "channel", "shadowCardNumber": "shadowCardNumber" }
json
application/json
Example Responses
No example specified for this content type

Permissions and restrictionsDisputes and chargebacks