“Complete Order Payment” Webhook to Boxo Platform
Choose from three types of algorithms for signing requests and validating them:
Select the hash function used for the signature:
“Api client ID” is an identifier for a Hostapp’s API
For RSA2 and ECDSA, choose between:
“Boxo public key” is used for validating request data on a Hostapp’s side.
“Hostapp public key” is used for validating request data from a Hostapp. This key belongs to the private key on a Hostapp’s side.
“HMAC Secret” is used in HMAC algorithm only.
“Headers map” is a JSON field used to set up custom headers in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped:
“Signature payload template” is a string template field used to set up a custom payload format in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped in the template:
{timestamp}
{nonce}
{identity}
{client_id}
{merchant_id}
{request_method} - Example: “POST”, "GET"
{url}
{payload} - this is “Request data/body”
“Signature template” is a string template field used to set up a custom signature header format in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped in the template:
{signature}
Timespec is a field used when generating the current timestamp, defining the level of time precision. Examples include seconds or milliseconds, depending on the required accuracy for the timestamp in the request signing process.
Identity is an optional static string that can be included in the signature payload and passed through headers to verify data integrity. If used, make sure to add it to the Headers map and include it in the Signature payload template as {identity}
to ensure it’s correctly incorporated into the request signing process.
A Nonce is an optional random string that can be included in the signature payload and passed through headers to verify data integrity. Its length is defined in the Nonce length parameter and can be enabled via the Use nonce option. If the nonce is used, make sure to include it in the Headers map and the Signature payload template as {nonce}
to ensure it’s properly accounted for in the request signing process.
Use request data with spaces: This option determines whether spaces are included in the request data when formatting the payload.
{"a":"b"}
.{"a": "b"}
.Sort request data keys: This option specifies whether the keys in the request data should be sorted alphabetically when formatting the payload.
{"a": "2", "b": "1"}
.{"b": "1", "a": "2"}
.Merchant ID is an optional identifier unique to a Partnership. It is used to identify a miniapp in a Hostapp’s system. Don’t forget to add it in “Headers map” and to “Signature payload template” as if used. Merchant ID can be also specified in a Partnership settings.
Please provide the following information to Boxo, after setup Boxo will provide you with a public key to verify the signature:
Here is a structured breakdown of the parameters used in the request signing process:
Algorithm (choice): The cryptographic algorithm used for signing:
Hash function (choice): The hash function applied to the request:
Key Format (choice) (optional): The format for the private/public key pair:
Hostapp public key (string): The public key of the host app in PKCS1 format, used by Boxo to verify the signature.
HMAC Secret (string) (optional): A secret key used for HMAC algorithm only.
Headers map (JSON) (optional): A JSON field used to configure custom headers if the host app wants to implement its own request signing.
Signature payload template (string) (optional): A string template for setting up a custom payload format if the host app is using custom request signing.
Signature template (string) (optional): A string template for setting up a custom signature header format if the host app is using custom request signing.
Timespec (string): Defines the time precision when generating the current timestamp.
Identity (string) (optional): An identifier for the host app, used for recognition.
Nonce length (integer) (optional): Defines the length of the nonce string.
Use nonce (boolean) (optional): A boolean value indicating whether to use a nonce string.
Request data encoding for payload (choice): The encoding method for the request payload.
Signature payload encoding (choice): The encoding for the signature payload.
Signature encoding (choice): The encoding for the signature.
Use request data with spaces (boolean) (optional): Indicates whether spaces should be used in request data.
Sort request data keys (boolean) (optional): Indicates whether the keys in the request data should be sorted.
Public Key (string): The public key in PKCS1 format for the Boxo Platform to verify the signature.
Client ID (string): A unique identifier for the host app for verification.
Merchant ID (string) (optional): A unique identifier for the merchant associated with the host app.
This detailed structure ensures that both the host app and the Boxo platform can securely exchange data using request signing.
{"signature": "X-Signature", "timestamp": "X-Timestamp", "client_id": "X-Client-Id"}
{timestamp}{client_id}{request_method}{url}{payload}
{signature}
“Complete Order Payment” Webhook to Boxo Platform
Choose from three types of algorithms for signing requests and validating them:
Select the hash function used for the signature:
“Api client ID” is an identifier for a Hostapp’s API
For RSA2 and ECDSA, choose between:
“Boxo public key” is used for validating request data on a Hostapp’s side.
“Hostapp public key” is used for validating request data from a Hostapp. This key belongs to the private key on a Hostapp’s side.
“HMAC Secret” is used in HMAC algorithm only.
“Headers map” is a JSON field used to set up custom headers in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped:
“Signature payload template” is a string template field used to set up a custom payload format in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped in the template:
{timestamp}
{nonce}
{identity}
{client_id}
{merchant_id}
{request_method} - Example: “POST”, "GET"
{url}
{payload} - this is “Request data/body”
“Signature template” is a string template field used to set up a custom signature header format in case a Hostapp wants to utilize their own request signaturing. These fields should be mapped in the template:
{signature}
Timespec is a field used when generating the current timestamp, defining the level of time precision. Examples include seconds or milliseconds, depending on the required accuracy for the timestamp in the request signing process.
Identity is an optional static string that can be included in the signature payload and passed through headers to verify data integrity. If used, make sure to add it to the Headers map and include it in the Signature payload template as {identity}
to ensure it’s correctly incorporated into the request signing process.
A Nonce is an optional random string that can be included in the signature payload and passed through headers to verify data integrity. Its length is defined in the Nonce length parameter and can be enabled via the Use nonce option. If the nonce is used, make sure to include it in the Headers map and the Signature payload template as {nonce}
to ensure it’s properly accounted for in the request signing process.
Use request data with spaces: This option determines whether spaces are included in the request data when formatting the payload.
{"a":"b"}
.{"a": "b"}
.Sort request data keys: This option specifies whether the keys in the request data should be sorted alphabetically when formatting the payload.
{"a": "2", "b": "1"}
.{"b": "1", "a": "2"}
.Merchant ID is an optional identifier unique to a Partnership. It is used to identify a miniapp in a Hostapp’s system. Don’t forget to add it in “Headers map” and to “Signature payload template” as if used. Merchant ID can be also specified in a Partnership settings.
Please provide the following information to Boxo, after setup Boxo will provide you with a public key to verify the signature:
Here is a structured breakdown of the parameters used in the request signing process:
Algorithm (choice): The cryptographic algorithm used for signing:
Hash function (choice): The hash function applied to the request:
Key Format (choice) (optional): The format for the private/public key pair:
Hostapp public key (string): The public key of the host app in PKCS1 format, used by Boxo to verify the signature.
HMAC Secret (string) (optional): A secret key used for HMAC algorithm only.
Headers map (JSON) (optional): A JSON field used to configure custom headers if the host app wants to implement its own request signing.
Signature payload template (string) (optional): A string template for setting up a custom payload format if the host app is using custom request signing.
Signature template (string) (optional): A string template for setting up a custom signature header format if the host app is using custom request signing.
Timespec (string): Defines the time precision when generating the current timestamp.
Identity (string) (optional): An identifier for the host app, used for recognition.
Nonce length (integer) (optional): Defines the length of the nonce string.
Use nonce (boolean) (optional): A boolean value indicating whether to use a nonce string.
Request data encoding for payload (choice): The encoding method for the request payload.
Signature payload encoding (choice): The encoding for the signature payload.
Signature encoding (choice): The encoding for the signature.
Use request data with spaces (boolean) (optional): Indicates whether spaces should be used in request data.
Sort request data keys (boolean) (optional): Indicates whether the keys in the request data should be sorted.
Public Key (string): The public key in PKCS1 format for the Boxo Platform to verify the signature.
Client ID (string): A unique identifier for the host app for verification.
Merchant ID (string) (optional): A unique identifier for the merchant associated with the host app.
This detailed structure ensures that both the host app and the Boxo platform can securely exchange data using request signing.
{"signature": "X-Signature", "timestamp": "X-Timestamp", "client_id": "X-Client-Id"}
{timestamp}{client_id}{request_method}{url}{payload}
{signature}