Checkout Mandate¶
The Checkout Mandate is a Mandate used for authorizing the completion of a checkout.
Usage¶
The Checkout Mandate Content is created by the Shopping Agent, rendered to the User by the Trusted Surface and verified by the Merchant. The Merchant creates a signed Checkout object which is included in closed Checkout Mandate Content.
Type¶
A closed Checkout Mandate MUST use the value mandate.checkout.1 for the vct
claim and an open Checkout Mandate MUST use the value mandate.checkout.open.1.
See Mandate Versioning for how the version suffix works.
Mandate Schema¶
The closed Checkout Mandate conforms to the following schema:
| Name | Type | Required | Selectively Disclosable | Description |
|---|---|---|---|---|
| vct | string | Yes | No | Verifiable Credential Type claim as defined in SD-JWT. MUST be 'mandate.checkout'. |
| checkout_jwt | string | Yes | Yes | base64url-encoded serialized merchant-signed JWT of the Checkout payload. |
| checkout_hash | string | Yes | No | base64url-encoded hash of the checkout_jwt field value, uniquely identifying this checkout. If this checkout mandate is presented as an sd-jwt and the _sd_alg field is present then the hash algorithm used MUST match the _sd_alg field. Otherwise, sha-256 MUST be used. |
| iat | integer | No | No | The creation timestamp as a Unix epoch. |
| exp | integer | No | No | The expiration timestamp as a Unix epoch. |
checkout_hash is the base64url-encoded hash of the value of checkout_jwt.
The algorithm used MUST be the same as the SD-JWT, as defined by the _sd_alg
claim in the base payload, or sha-256 if not present.
checkout_jwt is the merchant-signed JWT containing the details of the
checkout. The details of the payload are outside the scope of this
specification, when used with the Universal Commerce Protocol
this MUST be the Checkout object.
Constraints¶
The following constraints are defined in this document for use with the open Checkout Mandates:
- Allowed Merchant: Constrains the Merchants that this Checkout Mandate can be used with.
- Line Items: Defines the valid set of Line Items to be included in the Checkout Mandate.
Allowed Merchants¶
Type: checkout.allowed_merchants
Description: Constrains the possible merchants for this Checkout Mandate.
Properties:
| Name | Type | Required | Selectively Disclosable | Description |
|---|---|---|---|---|
| type | string | Yes | No | Constraint type identifier. |
| allowed | Array[Merchant] | Yes | Yes | Array of allowed Merchant objects. |
Evaluation: The Merchant MUST be present in the revealed elements of
allowed. If they are not present, or if the allowed
contains no revealed elements, the constraint is invalid.
Example
{
"type": "checkout.allowed_merchants",
"allowed": [
{"name": "Merchant Choice", "website": "https://merchant-choice.com" },
{"name": "Second Merchant", "website": "https://second-merchant.com" },
]
}
Line Items¶
Type: checkout.line_items
Description: Defines the sets of line items that are to be present in the checkout_jwt.
Properties:
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | Constraint type identifier. |
| items | Array[LineItemRequirements] | Yes | Array of line item requirements. |
Evaluation: This constraint is met when:
- Each
itemsentry in the constraint has a total quantity of matching items in the Checkout. - An item matches an
itemsentry if its ID is present in the revealedacceptable_items. - No
itemsentry or item in the Checkout may be used more than once.
One way to implement this is as a maximal flow problem. The graph is defined as follows:
- Create a node for each
itemsentry. - Provide an edge from the source to each
itemsnode with a capacity equal to the quantity. - Create a node for each item ID in the Checkout.
- Provide an edge from each Checkout item node to the sink with a capacity equal to the total quantity of that item ID in the checkout.
- Provide an edge with infinite capacity between each
itemsnode and each Checkout item node that matches the revealedacceptable_itemsfor that item.
The constraint is met if the maximal flow equals the total constraint items
quantity and the total checkout items quantity.
NOTE: This evaluation does not support splitting the open Checkout Mandate across multiple Checkouts. Future constraint extensions can add this support, but consideration must be given to how multiple duplicate orders can be prevented.
Example
{
"type": "checkout.line_items",
"items": [
{
"id": "id-shoe-choices",
"acceptable_items": [
{"id": "BAB1234", "title": "Red Style"}
{"id": "FAF1234", "title": "Blue Style"}
],
"quantity": 1
},
{
"id": "id-sock-choices",
"acceptable_items": [
{"id": "QRT1234", "title": "The Best Socks"}
],
"quantity": 1
},
]
}
But it would be invalid to have a Checkout containing: - Item: Red Style, Item: Blue Style - Item: Red Style - Item: Blue Style - Item: The Best Socks
Checkout Receipt¶
The Checkout Receipt conforms to the following Schema:
| Name | Type | Required | Description |
|---|---|---|---|
| status | ReceiptStatus | Yes | The status of the checkout. |
| iss | string | Yes | The issuer of the receipt. |
| iat | integer | Yes | The creation timestamp as a Unix epoch. |
| reference | string | Yes | The hash of the closed Mandate that this receipt is binding to. |
| error | string | No | A unique error code. Present if and only if status is Error. |
| error_description | string | No | A human-readable error description. Present if and only if status is Error. |
| order_id | string | No | A reference to the order for the checkout. Present if and only if status is Success. |
ReceiptStatus¶
The status of a receipt.
Values: Success Error
Examples¶
Open Checkout Mandate SD-JWT plus disclosures¶
{
"issuer_signed_jwt": {
"header": {
"alg": "ES256",
"typ": "example+sd-jwt",
"kid": "agent-provider-key-1"
},
"payload": {
"delegate_payload": [
{
"...": "QtXTJtWqg999CmUWGjHFTWMkRPguDfeK3wGSaInd-dw"
}
],
"_sd_alg": "sha-256"
}
},
"disclosures": [
{
"digest": "y3aocAD2rhYpJQOUMN016faDFGkTBGEDVl1R1TRHdbw",
"decoded": [
"4n3L_-3_Fm2GgyFAF8Ct_g",
{
"id": "supershoe_limited_edition_gold_sneaker_womens_9_0",
"title": "SuperShoe Limited Edition Gold"
}
]
},
{
"digest": "a5UMAdxCk_MRayyVdRhpIAZ0ZhjVLEq1g2BWyruKUwg",
"decoded": [
"2zPL6vqLBg2WYAdbW9-1lQ",
{
"id": "merchant_1",
"name": "Demo Merchant",
"website": "https://demo-merchant.example"
}
]
},
{
"digest": "QtXTJtWqg999CmUWGjHFTWMkRPguDfeK3wGSaInd-dw",
"decoded": [
"laAoWKNRuGnwREjJWYJ7pg",
{
"vct": "mandate.checkout.open.1",
"constraints": [
{
"type": "checkout.line_items",
"items": [
{
"id": "line_1",
"acceptable_items": [
{
"...": "y3aocAD2rhYpJQOUMN016faDFGkTBGEDVl1R1TRHdbw"
}
],
"quantity": 1
}
]
},
{
"type": "checkout.allowed_merchants",
"allowed": [
{
"...": "a5UMAdxCk_MRayyVdRhpIAZ0ZhjVLEq1g2BWyruKUwg"
}
]
}
],
"cnf": {
"jwk": {
"crv": "P-256",
"kty": "EC",
"x": "QpSyxPQHy38xckypDr54gZ3T42zj9iLtV4koyb5U27c",
"y": "37HLd7JJinxjJIn8J7HijssoeclbfhdW-gUL7feI9lw"
}
},
"iat": 1777342357,
"exp": 1777345957
}
]
}
]
}
Encoded Token¶
eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImV4YW1wbGUrc2Qtand0IiwgImtpZCI6ICJhZ2VudC1wcm92aWRlci1rZXktMSJ9.eyJkZWxlZ2F0ZV9wYXlsb2FkIjogW3siLi4uIjogIlF0WFRKdFdxZzk5OUNtVVdHakhGVFdNa1JQZ3VEZmVLM3dHU2FJbmQtZHcifV0sICJfc2RfYWxnIjogInNoYS0yNTYifQ.HvCGk7ye_c0LN2-NFG13wfyu3LA--rckTPGm36ugO2aRvsded7ngw1py8W3JF7wBpoQnsKr17tNTF3zLeYcoWA~WyI0bjNMXy0zX0ZtMkdneUZBRjhDdF9nIiwgeyJpZCI6ICJzdXBlcnNob2VfbGltaXRlZF9lZGl0aW9uX2dvbGRfc25lYWtlcl93b21lbnNfOV8wIiwgInRpdGxlIjogIlN1cGVyU2hvZSBMaW1pdGVkIEVkaXRpb24gR29sZCJ9XQ~WyIyelBMNnZxTEJnMldZQWRiVzktMWxRIiwgeyJpZCI6ICJtZXJjaGFudF8xIiwgIm5hbWUiOiAiRGVtbyBNZXJjaGFudCIsICJ3ZWJzaXRlIjogImh0dHBzOi8vZGVtby1tZXJjaGFudC5leGFtcGxlIn1d~WyJsYUFvV0tOUnVHbndSRWpKV1lKN3BnIiwgeyJ2Y3QiOiAibWFuZGF0ZS5jaGVja291dC5vcGVuLjEiLCAiY29uc3RyYWludHMiOiBbeyJ0eXBlIjogImNoZWNrb3V0LmxpbmVfaXRlbXMiLCAiaXRlbXMiOiBbeyJpZCI6ICJsaW5lXzEiLCAiYWNjZXB0YWJsZV9pdGVtcyI6IFt7Ii4uLiI6ICJ5M2FvY0FEMnJoWXBKUU9VTU4wMTZmYURGR2tUQkdFRFZsMVIxVFJIZGJ3In1dLCAicXVhbnRpdHkiOiAxfV19LCB7InR5cGUiOiAiY2hlY2tvdXQuYWxsb3dlZF9tZXJjaGFudHMiLCAiYWxsb3dlZCI6IFt7Ii4uLiI6ICJhNVVNQWR4Q2tfTVJheXlWZFJocElBWjBaaGpWTEVxMWcyQld5cndLVXdnIn1dfV0sICJjbmYiOiB7Imp3ayI6IHsiY3J2IjogIlAtMjU2IiwgImt0eSI6ICJFQyIsICJ4IjogIlFwU3l4UFFIeTM4eGNreXZEcjU0Z1ozVDQyemo5aUx0VjRrb3liNVUyN2MiLCAieSI6ICIzN0hMZDdKSmlueGpKSW44SjdIaWpzc29lY0JsZmhkVy1nVUw3ZmVJOWx3In19LCAiaWF0IjogMTc3NzM0MjM1NywgImV4cCI6IDE3NzczNDU5NTd9XQ~
Closed Checkout Mandate SD-JWT plus disclosures¶
{
"issuer_signed_jwt": {
"header": {
"alg": "ES256",
"typ": "kb+sd-jwt"
},
"payload": {
"delegate_payload": [
{
"...": "7VLY-eKTFSShLoZRXY5jXcD2UHm1JvPmoANYRqqxy34"
}
],
"iat": 1777342376,
"aud": "merchant",
"nonce": "b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4",
"sd_hash": "FzLoxbbtgQGYZxoSM2NJYJtkFTSsdfUBoVEQ12k7JN8",
"_sd_alg": "sha-256"
}
},
"disclosures": [
{
"digest": "FzLoxbbtgQGYZxoSM2NJYJtkFTSsdfUBoVEQ12k7JN8",
"decoded": [
"w-n1leFT6z8rHTNHwr5Wow",
"checkout_jwt",
{
"header": {
"alg": "ES256",
"typ": "JWT"
},
"payload": {
"order_id": "09414145-b7bi-432e-bf5c-ha0ba0bc4580",
"merchant": {
"id": "merchant_1",
"name": "Demo Merchant",
"website": "https://demo-merchant.example"
},
"line_items": [
{
"id": "line_1",
"product": {
"id": "supershoe_limited_edition_gold_sneaker_womens_9_0",
"title": "SuperShoe Limited Edition Gold — Women's 9",
"price": 199.0,
"currency": "USD"
},
"quantity": 1
}
],
"total_price": 199.0,
"currency": "USD",
"shipping_policy": "Standard Shipping",
"return_policy": "30-day returns"
}
}
]
},
{
"digest": "7VLY-eKTFSShLoZRXY5jXcD2UHm1JvPmoANYRqqxy34",
"decoded": [
"szhpxKrgGJwyqMEN9WI5Sw",
{
"_sd": [
"3A9UyZJofw2eMP-Lx2tYaNpCcuB8elnhwwLhZLwqFFM"
],
"vct": "mandate.checkout.1",
"checkout_hash": "NivWhuqfzcvZNapvIEJ2-3tsdQLkiuIcye2g46WVgX8"
}
]
}
]
}
Encoded Token¶
eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImtiK3NkLWp3dCJ9.eyJkZWxlZ2F0ZV9wYXlsb2FkIjogW3siLi4uIjogIjdWTFktZUtURlNTaExvWlJYWTVqWGNEMlVIbTFKdlBtb0FOWVJxcXh5MzQifV0sICJpYXQiOiAxNzc3MzQyMzc2LCAiYXVkIjogIm1lcmNoYW50IiwgIm5vbmNlIjogImI5YzhkN2U2ZjVhNGIzYzJkMWUwZjlhOGI3YzZkNWU0IiwgInNkX2hhc2giOiAiRnpMb3hiYnRnUUdZWnhvU00yTkpZSnRrRlRTc2RmVUJvVkVRMTJrN0pOOCIsICJfc2RfYWxnIjogInNoYS0yNTYifQ.lSjkli6K3NbKlWOl1gJdWDwiyL88yJVyx32ZJHmvCXfRoItnchXw-MLUDEJv7o9lmTeipS42qNt7Z_oGSnRH1w~WyJzeGhweEtyZ0dKd3lxTUVNOVdJNVN3IiwgeyJfc2QiOiBbIjNBOVV5WkpvZncyZU1QLUx4MnRZYU5wQ2N1QjhlbG5od3dMaFpMd3FRRk0iXSwgInZjdCI6ICJtYW5kYXRlLmNoZWNrb3V0LjEiLCAiY2hlY2tvdXRfaGFzaCI6ICJOaXZXaHVxZnpjdlpOYXB2SUVKMi0zdHNkUUxraXVJY3llMmc0NldWZ1g4In1d~WyJ3LW4xbGVGVDZ6OHJIVE5Id3I1V293IiwgImNoZWNrb3V0X2p3dCIsICJleUpoYkdjaU9pQWlSVk15TlRZaUxDQWlkSGx3SWpvZ0lrcFhWQ0lzSUNKcmFXUWlPaUFpYldWeVkyaGhiblF0YTJWNUxURWlmUS5leUpwWkNJNklDSXdPVFF4TkRFME5TMWlOekJpTFRRNE0yRXRZamcxWXkxaFlUQm1ZVEJqTkRVNE1EQWlMQ0FpYldWeVkyaGhiblFpT2lCN0ltbGtJam9nSW0xbGNtTm9ZVzUwWHpFaUxDQWlibUZ0WlNJNklDSkVaVzF2SUUxbGNtTm9ZVzUwSWl3Z0luZGxZbk5wZEdVaU9pQWlhSFIwY0hNNkx5OWtaVzF2TFcxbGNtTm9ZVzUwTG1WNFlXMXdiR1VpZlN3Z0lteHBibVZmYVhSbGJYTWlPaUJiZXlKcFpDSTZJQ0pzYVY4d0lpd2dJbWwwWlcwaU9pQjdJbWxrSWpvZ0luTjFjR1Z5YzJodlpWOXNhVzFwZEdWa1gyVmthWFJwYjI1ZloyOXNaRjl6Ym1WaGEyVnlYM2R2YldWdWMxODVYekFpTENBaWRHbDBiR1VpT2lBaVUzVndaWEp6YUc5bElFeHBiV2wwWldRZ1JXUnBkR2x2YmlCSGIyeGtJRk51WldGclpYSWdWMjl0Wlc1eklEa2lMQ0FpY0hKcFkyVWlPaUF4T1Rrd01IMHNJQ0p4ZFdGdWRHbDBlU0k2SURFc0lDSjBiM1JoYkhNaU9pQmJleUowZVhCbElqb2dJbk4xWW5SdmRHRnNJaXdnSW1GdGIzVnVkQ0k2SURFNU9UQXdmU3dnZXlKMGVYQmxJam9nSW5SdmRHRnNJaXdnSW1GdGIzVnVkQ0k2SURFNU9UQXdmVjE5WFN3Z0luTjBZWFIxY3lJNklDSnBibU52YlhCc1pYUmxJaXdnSW1OMWNuSmxibU41SWpvZ0lsVlRSQ0lzSUNKMGIzUmhiSE1pT2lCYmV5SjBlWEJsSWpvZ0luTjFZblJ2ZEdGc0lpd2dJbUZ0YjNWdWRDSTZJREU1T1RBd2ZTd2dleUowZVhCbElqb2dJblJ2ZEdGc0lpd2dJbUZ0YjNWdWRDSTZJREU1T1RBd2ZWMHNJQ0pzYVc1cmN5STZJRnQ3SW5SNWNHVWlPaUFpY0hKcGRtRmplVjl3YjJ4cFkza2lMQ0FpZFhKc0lqb2dJbWgwZEhCek9pOHZhSFIwY0hNdkwyUmxiVzh0YldWeVkyaGhiblF1WlhoaGJYQnNaUzl3Y21sMllXTjVJbjBzSUhzaWRIbHdaU0k2SUNKMFpYSnRjMTl2Wmw5elpYSjJhV05sSWl3Z0luVnliQ0k2SUNKb2RIUndjem92TDJoMGRIQnpMeTlrWlcxdkxXMWxjbU5vWVc1MExtVjRZVzF3YkdVdmRHOXpJbjFkZlEuUC1WS3poeUp1bzktUlBpTjVheW5naDdmTFVLY09QQWVaejczU09Zd2Q1UDlZWG1HTE9yTFRXeGdYdkd5UVF0dERETTVELUc0czE5dnhfVTY1ZHJ1UmciXQ~
Open Checkout Mandate chained with a Closed Checkout Mandate after processing the delegate SD-JWT.¶
{
"issuer_signed_jwt": {
"header": {
"alg": "ES256",
"typ": "example+sd-jwt",
"kid": "agent-provider-key-1"
},
"payload": {
"delegate_payload": [
{
"...": "QtXTJtWqg999CmUWGjHFTWMkRPguDfeK3wGSaInd-dw"
}
],
"_sd_alg": "sha-256"
}
},
"disclosures": [
{
"digest": "y3aocAD2rhYpJQOUMN016faDFGkTBGEDVl1R1TRHdbw",
"decoded": [
"4n3L_-3_Fm2GgyFAF8Ct_g",
{
"id": "supershoe_limited_edition_gold_sneaker_womens_9_0",
"title": "SuperShoe Limited Edition Gold"
}
]
},
{
"digest": "a5UMAdxCk_MRayyVdRhpIAZ0ZhjVLEq1g2BWyruKUwg",
"decoded": [
"2zPL6vqLBg2WYAdbW9-1lQ",
{
"id": "merchant_1",
"name": "Demo Merchant",
"website": "https://demo-merchant.example"
}
]
},
{
"digest": "QtXTJtWqg999CmUWGjHFTWMkRPguDfeK3wGSaInd-dw",
"decoded": [
"laAoWKNRuGnwREjJWYJ7pg",
{
"vct": "mandate.checkout.open.1",
"constraints": [
{
"type": "checkout.line_items",
"items": [
{
"id": "line_1",
"acceptable_items": [
{
"...": "y3aocAD2rhYpJQOUMN016faDFGkTBGEDVl1R1TRHdbw"
}
],
"quantity": 1
}
]
},
{
"type": "checkout.allowed_merchants",
"allowed": [
{
"...": "a5UMAdxCk_MRayyVdRhpIAZ0ZhjVLEq1g2BWyruKUwg"
}
]
}
],
"cnf": {
"jwk": {
"crv": "P-256",
"kty": "EC",
"x": "QpSyxPQHy38xckypDr54gZ3T42zj9iLtV4koyb5U27c",
"y": "37HLd7JJinxjJIn8J7HijssoeclbfhdW-gUL7feI9lw"
}
},
"iat": 1777342357,
"exp": 1777345957
}
]
}
]
}
{
"issuer_signed_jwt": {
"header": {
"alg": "ES256",
"typ": "kb+sd-jwt"
},
"payload": {
"delegate_payload": [
{
"...": "7VLY-eKTFSShLoZRXY5jXcD2UHm1JvPmoANYRqqxy34"
}
],
"iat": 1777342376,
"aud": "merchant",
"nonce": "b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4",
"sd_hash": "FzLoxbbtgQGYZxoSM2NJYJtkFTSsdfUBoVEQ12k7JN8",
"_sd_alg": "sha-256"
}
},
"disclosures": [
{
"digest": "7VLY-eKTFSShLoZRXY5jXcD2UHm1JvPmoANYRqqxy34",
"decoded": [
"szhpxKrgGJwyqMEN9WI5Sw",
{
"_sd": [
"3A9UyZJofw2eMP-Lx2tYaNpCcuB8elnhwwLhZLwqFFM"
],
"vct": "mandate.checkout.1",
"checkout_hash": "NivWhuqfzcvZNapvIEJ2-3tsdQLkiuIcye2g46WVgX8"
}
]
},
{
"digest": "FzLoxbbtgQGYZxoSM2NJYJtkFTSsdfUBoVEQ12k7JN8",
"decoded": [
"w-n1leFT6z8rHTNHwr5Wow",
"checkout_jwt",
{
"header": {
"alg": "ES256",
"typ": "JWT"
},
"payload": {
"order_id": "09414145-b7bi-432e-bf5c-ha0ba0bc4580",
"merchant": {
"id": "merchant_1",
"name": "Demo Merchant",
"website": "https://demo-merchant.example"
},
"line_items": [
{
"id": "line_1",
"product": {
"id": "supershoe_limited_edition_gold_sneaker_womens_9_0",
"title": "SuperShoe Limited Edition Gold — Women's 9",
"price": 199.0,
"currency": "USD"
},
"quantity": 1
}
],
"total_price": 199.0,
"currency": "USD",
"shipping_policy": "Standard Shipping",
"return_policy": "30-day returns"
}
}
]
}
]
}
Encoded Token¶
eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImV4YW1wbGUrc2Qtand0IiwgImtpZCI6ICJhZ2VudC1wcm92aWRlci1rZXktMSJ9.eyJkZWxlZ2F0ZV9wYXlsb2FkIjogW3siLi4uIjogIlF0WFRKdFdxZzk5OUNtVVdHakhGVFdNa1JQZ3VEZmVLM3dHU2FJbmQtZHcifV0sICJfc2RfYWxnIjogInNoYS0yNTYifQ.HvCGk7ye_c0LN2-NFG13wfyu3LA--rckTPGm36ugO2aRvsded7ngw1py8W3JF7wBpoQnsKr17tNTF3zLeYcoWA~WyI0bjNMXy0zX0ZtMkdneUZBRjhDdF9nIiwgeyJpZCI6ICJzdXBlcnNob2VfbGltaXRlZF9lZGl0aW9uX2dvbGRfc25lYWtlcl93b21lbnNfOV8wIiwgInRpdGxlIjogIlN1cGVyU2hvZSBMaW1pdGVkIEVkaXRpb24gR29sZCJ9XQ~WyIyelBMNnZxTEJnMldZQWRiVzktMWxRIiwgeyJpZCI6ICJtZXJjaGFudF8xIiwgIm5hbWUiOiAiRGVtbyBNZXJjaGFudCIsICJ3ZWJzaXRlIjogImh0dHBzOi8vZGVtby1tZXJjaGFudC5leGFtcGxlIn1d~WyJsYUFvV0tOUnVHbndSRWpKV1lKN3BnIiwgeyJ2Y3QiOiAibWFuZGF0ZS5jaGVja291dC5vcGVuLjEiLCAiY29uc3RyYWludHMiOiBbeyJ0eXBlIjogImNoZWNrb3V0LmxpbmVfaXRlbXMiLCAiaXRlbXMiOiBbeyJpZCI6ICJsaW5lXzEiLCAiYWNjZXB0YWJsZV9pdGVtcyI6IFt7Ii4uLiI6ICJ5M2FvY0FEMnJoWXBKUU9VTU4wMTZmYURGR2tUQkdFRFZsMVIxVFJIZGJ3In1dLCAicXVhbnRpdHkiOiAxfV19LCB7InR5cGUiOiAiY2hlY2tvdXQuYWxsb3dlZF9tZXJjaGFudHMiLCAiYWxsb3dlZCI6IFt7Ii4uLiI6ICJhNVVNQWR4Q2tfTVJheXlWZFJocElBWjBaaGpWTEVxMWcyQld5cndLVXdnIn1dfV0sICJjbmYiOiB7Imp3ayI6IHsiY3J2IjogIlAtMjU2IiwgImt0eSI6ICJFQyIsICJ4IjogIlFwU3l4UFFIeTM4eGNreXZEcjU0Z1ozVDQyemo5aUx0VjRrb3liNVUyN2MiLCAieSI6ICIzN0hMZDdKSmlueGpKSW44SjdIaWpzc29lY0JsZmhkVy1nVUw3ZmVJOWx3In19LCAiaWF0IjogMTc3NzM0MjM1NywgImV4cCI6IDE3NzczNDU5NTd9XQ~~eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImtiK3NkLWp3dCJ9.eyJkZWxlZ2F0ZV9wYXlsb2FkIjogW3siLi4uIjogIjdWTFktZUtURlNTaExvWlJYWTVqWGNEMlVIbTFKdlBtb0FOWVJxcXh5MzQifV0sICJpYXQiOiAxNzc3MzQyMzc2LCAiYXVkIjogIm1lcmNoYW50IiwgIm5vbmNlIjogImI5YzhkN2U2ZjVhNGIzYzJkMWUwZjlhOGI3YzZkNWU0IiwgInNkX2hhc2giOiAiRnpMb3hiYnRnUUdZWnhvU00yTkpZSnRrRlRTc2RmVUJvVkVRMTJrN0pOOCIsICJfc2RfYWxnIjogInNoYS0yNTYifQ.lSjkli6K3NbKlWOl1gJdWDwiyL88yJVyx32ZJHmvCXfRoItnchXw-MLUDEJv7o9lmTeipS42qNt7Z_oGSnRH1w~WyJzeGhweEtyZ0dKd3lxTUVNOVdJNVN3IiwgeyJfc2QiOiBbIjNBOVV5WkpvZncyZU1QLUx4MnRZYU5wQ2N1QjhlbG5od3dMaFpMd3FRRk0iXSwgInZjdCI6ICJtYW5kYXRlLmNoZWNrb3V0LjEiLCAiY2hlY2tvdXRfaGFzaCI6ICJOaXZXaHVxZnpjdlpOYXB2SUVKMi0zdHNkUUxraXVJY3llMmc0NldWZ1g4In1d~WyJ3LW4xbGVGVDZ6OHJIVE5Id3I1V293IiwgImNoZWNrb3V0X2p3dCIsICJleUpoYkdjaU9pQWlSVk15TlRZaUxDQWlkSGx3SWpvZ0lrcFhWQ0lzSUNKcmFXUWlPaUFpYldWeVkyaGhiblF0YTJWNUxURWlmUS5leUpwWkNJNklDSXdPVFF4TkRFME5TMWlOekJpTFRRNE0yRXRZamcxWXkxaFlUQm1ZVEJqTkRVNE1EQWlMQ0FpYldWeVkyaGhiblFpT2lCN0ltbGtJam9nSW0xbGNtTm9ZVzUwWHpFaUxDQWlibUZ0WlNJNklDSkVaVzF2SUUxbGNtTm9ZVzUwSWl3Z0luZGxZbk5wZEdVaU9pQWlhSFIwY0hNNkx5OWtaVzF2TFcxbGNtTm9ZVzUwTG1WNFlXMXdiR1VpZlN3Z0lteHBibVZmYVhSbGJYTWlPaUJiZXlKcFpDSTZJQ0pzYVY4d0lpd2dJbWwwWlcwaU9pQjdJbWxrSWpvZ0luTjFjR1Z5YzJodlpWOXNhVzFwZEdWa1gyVmthWFJwYjI1ZloyOXNaRjl6Ym1WaGEyVnlYM2R2YldWdWMxODVYekFpTENBaWRHbDBiR1VpT2lBaVUzVndaWEp6YUc5bElFeHBiV2wwWldRZ1JXUnBkR2x2YmlCSGIyeGtJRk51WldGclpYSWdWMjl0Wlc1eklEa2lMQ0FpY0hKcFkyVWlPaUF4T1Rrd01IMHNJQ0p4ZFdGdWRHbDBlU0k2SURFc0lDSjBiM1JoYkhNaU9pQmJleUowZVhCbElqb2dJbk4xWW5SdmRHRnNJaXdnSW1GdGIzVnVkQ0k2SURFNU9UQXdmU3dnZXlKMGVYQmxJam9nSW5SdmRHRnNJaXdnSW1GdGIzVnVkQ0k2SURFNU9UQXdmVjE5WFN3Z0luTjBZWFIxY3lJNklDSnBibU52YlhCc1pYUmxJaXdnSW1OMWNuSmxibU41SWpvZ0lsVlRSQ0lzSUNKMGIzUmhiSE1pT2lCYmV5SjBlWEJsSWpvZ0luTjFZblJ2ZEdGc0lpd2dJbUZ0YjNWdWRDSTZJREU1T1RBd2ZTd2dleUowZVhCbElqb2dJblJ2ZEdGc0lpd2dJbUZ0YjNWdWRDSTZJREU1T1RBd2ZWMHNJQ0pzYVc1cmN5STZJRnQ3SW5SNWNHVWlPaUFpY0hKcGRtRmplVjl3YjJ4cFkza2lMQ0FpZFhKc0lqb2dJbWgwZEhCek9pOHZhSFIwY0hNdkwyUmxiVzh0YldWeVkyaGhiblF1WlhoaGJYQnNaUzl3Y21sMllXTjVJbjBzSUhzaWRIbHdaU0k2SUNKMFpYSnRjMTl2Wmw5elpYSjJhV05sSWl3Z0luVnliQ0k2SUNKb2RIUndjem92TDJoMGRIQnpMeTlrWlcxdkxXMWxjbU5vWVc1MExtVjRZVzF3YkdVdmRHOXpJbjFkZlEuUC1WS3poeUp1bzktUlBpTjVheW5naDdmTFVLY09QQWVaejczU09Zd2Q1UDlZWG1HTE9yTFRXeGdYdkd5UVF0dERETTVELUc0czE5dnhfVTY1ZHJ1UmciXQ~
Common Types¶
Item¶
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the line item. Will often be the SKU. |
| title | string | Yes | Title of the item. |
LineItemRequirements¶
| Name | Type | Required | Selectively Disclosable | Description |
|---|---|---|---|---|
| id | string | Yes | No | Identifier for the line item requirement. |
| acceptable_items | Array[Item] | Yes | Yes | Defines a set of line items that are acceptable for this line item requirement. One and only one must be present in the Checkout Mandate. |
| quantity | integer | Yes | No | Required quantity of matching items. |
Merchant¶
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the merchant. |
| name | string | Yes | Human-readable name of the merchant. |
| website | string | No | Website belonging to the merchant. |