curl --request POST \
--url https://api.interchange.io/api/v2/storefront/billing-mandates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotencyKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storefrontId": "<string>",
"payeeRef": "<string>",
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScope": {
"kind": "exact_advertiser",
"advertiserIds": [
"<string>"
]
},
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>"
}
'import requests
url = "https://api.interchange.io/api/v2/storefront/billing-mandates"
payload = {
"idempotencyKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storefrontId": "<string>",
"payeeRef": "<string>",
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScope": {
"kind": "exact_advertiser",
"advertiserIds": ["<string>"]
},
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
idempotencyKey: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
storefrontId: '<string>',
payeeRef: '<string>',
liablePayerRef: '<string>',
paymentAuthorityHolderRef: '<string>',
advertiserScope: {kind: 'exact_advertiser', advertiserIds: ['<string>']},
billing: {
mode: 'seller_direct_invoice',
party: 'seller',
authorityKind: 'invoice_authority',
authorityRef: '<string>'
},
terms: {
currency: '<string>',
paymentTermsDays: 182,
termsRef: '<string>',
perTransactionLimitMinor: '<string>',
aggregateLimitMinor: '<string>',
aggregateLimitPeriodDays: 183
},
effectiveFrom: '2023-11-07T05:31:56Z',
effectiveUntil: '2023-11-07T05:31:56Z',
provenance: {kind: 'seller_admin_contract', reference: '<string>'},
reason: '<string>'
})
};
fetch('https://api.interchange.io/api/v2/storefront/billing-mandates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"mandateUid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sellerCustomerId": 4503599627370495,
"storefrontId": "<string>",
"revision": 4503599627370495,
"relationshipKind": "seller_self_serve",
"payeeRef": "<string>",
"operator": {
"domain": "<string>",
"scope": "whole_operator",
"unitId": "<string>"
},
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScopeKind": "exact_advertiser",
"advertisers": [
{
"advertiserId": "<string>",
"advertiserCustomerId": 4503599627370495,
"brand": {
"domain": "<string>",
"id": "<string>",
"countries": [
"AD"
]
},
"operator": {
"domain": "<string>",
"scope": "whole_operator",
"unitId": "<string>"
},
"fixedCurrency": "<string>",
"buyerSelectedTimezone": "<string>",
"sandbox": true,
"bindingEpoch": "<string>",
"identityFingerprint": "<string>",
"binding": {
"relationshipRef": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"relationshipVersion": 4503599627370495,
"bindingUid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bindingRevision": 4503599627370495
}
}
],
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"lifecycleState": "draft",
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>",
"authoredAt": "2023-11-07T05:31:56Z",
"readiness": {
"mandateRevision": 4503599627370495,
"readinessRevision": 4503599627370495,
"status": "pending",
"reasonCode": "<string>",
"reasonSummary": "<string>",
"projectedAt": "2023-11-07T05:31:56Z",
"billingMandateReady": true
},
"custody": {
"cardControlledBy": "liable_payer_or_payment_authority_holder",
"advertiserOwnsPaymentMethod": false,
"organizationCardReused": false,
"interchangeRole": "no_card_custody_no_media_receivable"
}
},
"error": null
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Create a seller billing mandate (admin)
Create an immutable first revision for one exact advertiser or an explicitly reviewed finite set. Canonical advertiser and operator identity are resolved server-side; every submitted commercial reference uses a canonical lowercase typed internal namespace and UUID. Card, bank, wallet, provider-token, and Organization payment-method values are not accepted. Admin-only.
curl --request POST \
--url https://api.interchange.io/api/v2/storefront/billing-mandates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotencyKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storefrontId": "<string>",
"payeeRef": "<string>",
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScope": {
"kind": "exact_advertiser",
"advertiserIds": [
"<string>"
]
},
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>"
}
'import requests
url = "https://api.interchange.io/api/v2/storefront/billing-mandates"
payload = {
"idempotencyKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storefrontId": "<string>",
"payeeRef": "<string>",
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScope": {
"kind": "exact_advertiser",
"advertiserIds": ["<string>"]
},
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
idempotencyKey: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
storefrontId: '<string>',
payeeRef: '<string>',
liablePayerRef: '<string>',
paymentAuthorityHolderRef: '<string>',
advertiserScope: {kind: 'exact_advertiser', advertiserIds: ['<string>']},
billing: {
mode: 'seller_direct_invoice',
party: 'seller',
authorityKind: 'invoice_authority',
authorityRef: '<string>'
},
terms: {
currency: '<string>',
paymentTermsDays: 182,
termsRef: '<string>',
perTransactionLimitMinor: '<string>',
aggregateLimitMinor: '<string>',
aggregateLimitPeriodDays: 183
},
effectiveFrom: '2023-11-07T05:31:56Z',
effectiveUntil: '2023-11-07T05:31:56Z',
provenance: {kind: 'seller_admin_contract', reference: '<string>'},
reason: '<string>'
})
};
fetch('https://api.interchange.io/api/v2/storefront/billing-mandates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"mandateUid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sellerCustomerId": 4503599627370495,
"storefrontId": "<string>",
"revision": 4503599627370495,
"relationshipKind": "seller_self_serve",
"payeeRef": "<string>",
"operator": {
"domain": "<string>",
"scope": "whole_operator",
"unitId": "<string>"
},
"liablePayerRef": "<string>",
"paymentAuthorityHolderRef": "<string>",
"advertiserScopeKind": "exact_advertiser",
"advertisers": [
{
"advertiserId": "<string>",
"advertiserCustomerId": 4503599627370495,
"brand": {
"domain": "<string>",
"id": "<string>",
"countries": [
"AD"
]
},
"operator": {
"domain": "<string>",
"scope": "whole_operator",
"unitId": "<string>"
},
"fixedCurrency": "<string>",
"buyerSelectedTimezone": "<string>",
"sandbox": true,
"bindingEpoch": "<string>",
"identityFingerprint": "<string>",
"binding": {
"relationshipRef": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"relationshipVersion": 4503599627370495,
"bindingUid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bindingRevision": 4503599627370495
}
}
],
"billing": {
"mode": "seller_direct_invoice",
"party": "seller",
"authorityKind": "invoice_authority",
"authorityRef": "<string>"
},
"terms": {
"currency": "<string>",
"paymentTermsDays": 182,
"termsRef": "<string>",
"perTransactionLimitMinor": "<string>",
"aggregateLimitMinor": "<string>",
"aggregateLimitPeriodDays": 183
},
"lifecycleState": "draft",
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"provenance": {
"kind": "seller_admin_contract",
"reference": "<string>"
},
"reason": "<string>",
"authoredAt": "2023-11-07T05:31:56Z",
"readiness": {
"mandateRevision": 4503599627370495,
"readinessRevision": 4503599627370495,
"status": "pending",
"reasonCode": "<string>",
"reasonSummary": "<string>",
"projectedAt": "2023-11-07T05:31:56Z",
"billingMandateReady": true
},
"custody": {
"cardControlledBy": "liable_payer_or_payment_authority_holder",
"advertiserOwnsPaymentMethod": false,
"organizationCardReused": false,
"interchangeRole": "no_card_custody_no_media_receivable"
}
},
"error": null
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Body
Create an explicit seller-specific commercial mandate. Advertiser identity and operator fields are resolved server-side from current canonical records. Caller-authored reasons reject payment- or provider-credential-shaped content before persistence.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$^[1-9][0-9]*$^seller_payee:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$^liable_payer:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$^payment_authority_holder:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$One exact advertiser or an explicitly reviewed finite advertiser set. Wildcards, domains, names, and future advertisers are not supported.
- Option 1
- Option 2
Show child attributes
Show child attributes
Commercial billing route and its exact typed internal authority-evidence namespace. Seller invoice, Interchange invoice, and Interchange payment authority are separate strict variants. Raw card, bank, wallet, provider-token, and Organization payment-method references are rejected.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Show child attributes
Show child attributes
draft, active, revoked ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Typed internal evidence reference for the Seller-admin source that authorized this immutable commercial revision.
- Option 1
- Option 2
Show child attributes
Show child attributes
1 - 500