Create a Digital Signature Key

This section describes how to create a
digital signature key
. You must create a digital signature key in order for
Visa Acceptance Solutions
to send notifications to your servers. You only need to send this request once for each account. Sending this request again using the same account credentials results in the same digital signature key.
IMPORTANT
Store the created digital signature key in a secure location in your system.

Optional Notification Validation

After you set up a webhook subscription, you can validate each notification you receive using your digital signature key. When
Visa Acceptance Solutions
sends you a notification, your digital signature key is included in the notification's header. You can configure your system to validate that each notification contains your digital signature key in its header. Validating a webhook notification verifies the notification's integrity and prevents replay attacks. For more information, see Validate a Webhook Notification.

Endpoints

Send a POST request to one of these endpoints:
  • Test:
    POST
    https://apitest.visaacceptance.com
    /kms/egress/v2/keys-sym
  • Production:
    POST
    https://api.visaacceptance.com
    /kms/egress/v2/keys-sym

Required Fields for Creating a Digital Signature Key

clientRequestAction
Set the value to
CREATE
.
keyInformation.expiryDuration
keyInformation.keyType
Set the value to
sharedSecret
.
keyInformation.organizationId
Set the value to the organization ID of the organization requesting the key.
keyInformation.provider
Set the value to
nrtd
.
keyInformation.tenant
Set the value to the organization ID of the organization requesting the key.

Example: Creating a Digital Signature Key

{ "clientRequestAction": "CREATE", "keyInformation": { "provider": "nrtd", "tenant": "merchantName", "keyType": "sharedSecret", "organizationId": "merchantName" } }
{ "submitTimeUtc": "2021-03-17T06:53:06+0000", "status": "SUCCESS", "keyInformation": { "provider": "NRTD", "tenant": "merchantName", "organizationId": "merchantName", "keyId": "bdc0fe52-091e-b0d6-e053-34b8d30a0504", //ID associated with the key in the key field "key": "u3qgvoaJ73rLJdPLTU3moxrXyNZA4eo5dklKtIXhsAE=", //Base64 encoded key "keyType": "sharedSecret", "status": "Active", "expirationDate": "2022-03-17T06:53:06+0000" }