On This Page
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:POSThttps://apitest.visaacceptance.com/kms/egress/v2/keys-sym
- Production:POSThttps://api.visaacceptance.com/kms/egress/v2/keys-sym
Required Fields for Creating a Digital Signature Key
- clientRequestAction
- Set the value toCREATE.
- keyInformation.expiryDuration
- keyInformation.keyType
- Set the value tosharedSecret.
- keyInformation.organizationId
- Set the value to the organization ID of the organization requesting the key.
- keyInformation.provider
- Set the value tonrtd.
- 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" }