Update marketplace fee structure
/marketplace-fee-structures/{marketplaceFeeStructureId}Replace the rates, change who it covers, or stop earning on it. One change per call.
MktpfeestructUpdateDisableMktpfeestructUpdateEnableMktpfeestructUpdateFeesMktpfeestructUpdateSubjectPermissions
marketplaces:updateRequires the `update` action on `marketplaces` for the supplied runtime context
Path parameters
marketplaceFeeStructureIdstringRequest body
This body is a typed union. Pick a variant to see its fields and a matching example.
typetype = "MktpfeestructUpdateDisable"This variant has no additional fields.
curl -X PATCH https://api.tst.au.apgpay.dev/marketplace-fee-structures/{marketplaceFeeStructureId} \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "MktpfeestructUpdateDisable"
}'Responses
The response is a tagged shape: type is always "MktpfeestructUpdateRspAttributes". Switch on it; subtypes can be added, and a client that already reads it will not break.
typetype = "MktpfeestructUpdateRspAttributes"The resource as it stands after the change.
typeenumrequiredMktpfeestructViewAttributesfeeStructureIdMktpfeestructIdrequiredIdentifier of a marketplace fee structure.
Example mktpfeestruct_9f2Kd8QpLzXw
marketplaceIdMktpIdrequiredIdentifier of a marketplace.
Example mktp_9f2Kd8QpLzXw
marketplaceMerchantIdMchtIdrequiredThe marketplace's own merchant entity, where the earnings are credited.
Example mcht_9f2Kd8QpLzXw
subMerchantIdMchtIdThe sub-merchant this applies to. Absent means every sub-merchant of the marketplace.
Example mcht_9f2Kd8QpLzXw
typeRates in the older shape, one table for paying in full, one for paying by plan. Superseded.
Fees by payment form. Superseded by FeeStructEx, which can price each pay-plan variant separately.
typeenumrequiredFeeStructAttributesCharged when the customer pays by plan.
typeenumrequiredFeeTableAttributesA fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
A fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
Charged when the customer pays in full.
typeenumrequiredFeeTableAttributesA fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
A fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
Rates in the current shape, with each pay-plan variant priced separately.
Fees by payment form, with each pay-plan variant priced separately.
typeenumrequiredFeeStructExAttributesOne entry per pay-plan variant and customer type offered. A variant with no entry cannot be paid by.
typeenumrequiredPayPlanFeeEntryAttributespayPlanVariantSrchqPayPlanVariantrequiredFourFortnightlyQuartersFourWeeklyEightWeeklyTwentySixFortnightlyFiftyTwoWeeklyTwoMonthlyThreeMonthlyFourMonthlyFiveMonthlySixMonthly+11 moreShow fewer
SevenMonthly, EightMonthly, NineMonthly, TenMonthly, ElevenMonthly, TwelveMonthly, FortnightDeferred, FourWeekDeferred, SevenWeekDeferred, ThirtyDayDeferred, Unknown
customerTypeSrchqCustomerTyperequiredConsumerOrganisationUnknownDomestic and international fees. Which applies is decided by the card's issuing country, not the payer's address.
typeenumrequiredFeeTableAttributesA fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
A fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
Charged when the customer pays in full by card.
typeenumrequiredFeeTableAttributesA fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
A fee: a rate on the amount plus a fixed charge, with per-card overrides where they differ.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
Charged when the customer pays by direct debit. Absent where direct debit is not offered.
typeenumrequiredFeeAttributesratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit, cents for AUD. Added to the rate's product.
Example 1250
Overrides for particular cards. The most specific match wins; anything unmatched takes rate and fixed.
typeenumrequiredCardFeeAttributescardFundingCardFundingrequiredCreditDebitChargeCardPrepaidDeferredDebitUnknowncardBrandCardBrandOmit to match every brand of that funding type.
VisaMasterCardAmericanExpressDinersClubDiscoverUnionPayMaestroEloMirHiper+5 moreShow fewer
Hipercard, Jcb, Electron, Uatp, Unknown
ratenumberrequiredA ratio of the amount, not a percentage 0.0175 is 1.75%. Zero to one.
Example 0.9412
fixedinteger (int64)requiredFixed charge in the smallest currency unit.
Example 1250
enabledbooleanrequiredfalse leaves the structure configured but earns nothing, the marketplace falls back to a less specific one, or to none.
Example true
createdAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
updatedAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
{
"type": "MktpfeestructUpdateRspAttributes",
"updated": {
"type": "MktpfeestructViewAttributes",
"feeStructureId": "mktpfeestruct_9f2Kd8QpLzXw",
"marketplaceId": "mktp_9f2Kd8QpLzXw",
"marketplaceMerchantId": "mcht_9f2Kd8QpLzXw",
"subMerchantId": "mcht_9f2Kd8QpLzXw",
"fees": {
"type": "FeesByPaymentForm",
"fees": {
"type": "FeeStructAttributes",
"split": {
"type": "FeeTableAttributes",
"domestic": {
"type": "FeeAttributes",
"rate": 0.9412,
"fixed": 1250,
"cards": [
{
"type": "CardFeeAttributes",
"cardFunding": "Credit",
"cardBrand": "Visa",
"rate": 0.9412,
"fixed": 1250
}
]
},
"international": {
"type": "FeeAttributes",
"rate": 0.9412,
"fixed": 1250,
"cards": [
{
"type": "CardFeeAttributes",
"cardFunding": "Credit",
"cardBrand": "Visa",
"rate": 0.9412,
"fixed": 1250
}
]
}
},
"full": {
"type": "FeeTableAttributes",
"domestic": {
"type": "FeeAttributes",
"rate": 0.9412,
"fixed": 1250,
"cards": [
{
"type": "CardFeeAttributes",
"cardFunding": "Credit",
"cardBrand": "Visa",
"rate": 0.9412,
"fixed": 1250
}
]
},
"international": {
"type": "FeeAttributes",
"rate": 0.9412,
"fixed": 1250,
"cards": [
{
"type": "CardFeeAttributes",
"cardFunding": "Credit",
"cardBrand": "Visa",
"rate": 0.9412,
"fixed": 1250
}
]
}
}
}
},
"enabled": true,
"createdAt": "2026-08-19T04:21:07Z",
"updatedAt": "2026-08-19T04:21:07Z"
}
}Error responses
statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}