Product Documentation

The getPcrToken operation generates a JSON Web Token (JWT) signed by the Payment Card Reader (PCR) Signing Key which must be created and stored within the appliance before any TTPoP transaction can take place.


This webservice decrypts the private key using the token number attached to the provided keyid value. This private key is then used to sign a JWT that is returned by this webservice.


The getPcrToken web service requires thirteen (13) parameters:

did

The unique encryption domain identifier.

kpsid

The unique server identifier of the node in the StrongAuth KeyAppliance cluster that generated the keypair.

svccred

The username (service credential) within the encryption domain with the authorization to call this web service. The credential requires the DEC, KMO, and KMA privileges.

password

The password of the username to authenticate the credential of the requester.

environment

The environment in which the keypair is used.

Accepted values:
DEVELOPMENT, QA, PRODUCTION, NON_PRODUCTION, OTHER

keyId

References the key used to sign this token. Use the ID you receive when you upload your PSP token key in Business Register.

audience

The audience of the JWT.

Accepted values:
“production-pos-v1” or “certification-pos-v1”

expiresms

The time in seconds merchant token will expire from the current (iat) time. Note that iat (issued at) attribute will be set to the current time by this module. To learn more, see RFC 7519 section 4.1.4.

terminalProfileId

The Terminal Profile ID. This will be a String with UUID-like value; provided by Apple in Business Register after a terminal profile configuration is submitted.

merchantId

The Merchant Id. This value shouldn’t change over time. Created and assigned to merchant during merchant onboarding.
merchantCategoryCode The Merchant Category Code, a 4-digit maximum numeric value.
merchantBanner The Merchant Banner. Appearance in UI depends on string length. For best user experience, keep length under 25 characters, including spaces. Banner names over 110 characters are truncated in the UI. The merchant provides this value to represent their business during merchant onboarding. Example: "JC’s Cafe" (Will appear in the UI as "Pay JC's Cafe" during card reads).
allowedAppIds

The list of Allowed App IDs. App bundle ID values to limit which apps can use the token. If undefined, any app can use the token. You can use wildcards to specify nested bundle IDs (for example, com.nested.\*).

Example:
["com.merchant.app1.prod",
"com.merchant.app2.prod",
"com.merchant.app3.*"