On This Page
Create a Digital Signature Key
This section describes how to create a
digital signature key
. The Digital Signature Key
request uses Visa's key management service to store your credentials. The Webhooks platform
retrieves your credentials from key management to digitally authenticate your
notifications.You must create a digital signature key to enable
Barclays
to send
notifications to your servers. We recommend that you replace the digital signature key every
year. When you generate a new digital signature key, it overrides the old key and new
transactions must use the new key. Notifications that use message-level encryption must also the 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. For more information, see Using the Digital Signature Key to Validate a Notification.
Endpoints
Send a POST request to one of these endpoints:
- Test:POSThttps://api.smartpayfuse-test.barclaycard/kms/egress/v2/keys-sym
- Production:POSThttps://api.smartpayfuse.barclaycard/kms/egress/v2/keys-sym
Required Fields for Creating a Digital Signature Key
- clientRequestAction
- Set the value toCREATE.
- keyInformation.expiryDuration
- Set to a number of days. We recommend365.
- 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.
REST Example: Creating a Digital Signature Key
Digital Signature Key Request
{ "clientRequestAction": "CREATE", "keyInformation": { "provider": "nrtd", "tenant": "merchantName", "keyType": "sharedSecret", "organizationId": "merchantName" } }
Digital Signature Key Response
{ "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" }