# Charge fee to a consumer Charge a fee to the logged-in consumer based on a pre-defined custom fee. Custom fees can be configured in the Multi Portal. The fees collected will be deposited into your Revenue Account. The balance and transaction history of your revenue account can be viewed in the Multi Portal. Endpoint: POST /consumers/fees/charge Version: 3.63.5 Security: auth_token, api-key ## Header parameters: - `idempotency-ref` (string) A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours. ## Request fields (application/json): - `feeType` (string, required) The fee type as defined in the Multi Portal. - `source` (object, required) The instrument from where the fee should be deducted. - `source.id` (string, required) - `source.type` (string, required) Enum: "managed_cards", "managed_accounts" ## Response 200 fields (application/json): - `transactionId` (object, required) The unique identifier of the transaction. - `transactionId.type` (string, required) Enum: "AUTHORISATION", "SETTLEMENT", "MANUAL_TRANSACTION", "TRANSFER", "SEND", "DEPOSIT", "AUTHORISATION_REVERSAL", "AUTHORISATION_EXPIRY", "AUTHORISATION_DECLINE", "AUTHORISATION_MANUAL_CLOSE", "MERCHANT_REFUND", "MERCHANT_REFUND_REVERSAL", "ORIGINAL_CREDIT_TRANSACTION", "SETTLEMENT_REVERSAL", "ADJUSTMENT", "CHARGE_FEE", "WITHDRAWAL_RESERVE", "WITHDRAWAL_RELEASE", "FEE_REVERSAL", "OUTGOING_WIRE_TRANSFER", "AUTHORISATION_CANCELLATION", "SYSTEM_TRANSACTION", "OUTGOING_DIRECT_DEBIT_COLLECTION", "OUTGOING_DIRECT_DEBIT_REFUND", "LINKED_ACCOUNT_VERIFICATION_TRANSFER", "INCOMING_WIRE_TRANSFER", "FUNDING", "TEST_FUNDING" - `transactionId.id` (string, required) - `profileId` (string, required) The profile Id which a specific identity, instrument or transaction type is linked to. - `feeType` (string, required) The fee type as defined in the Multi Portal, and as sent in the request. - `source` (object, required) - `availableBalanceAdjustment` (object, required) The object representing a monetary amount in a particular currency. - `availableBalanceAdjustment.currency` (string, required) The currency expressed in ISO-4217 code. Example: GBP, EUR, USD. - `availableBalanceAdjustment.amount` (integer, required) The monetary amount, scaled to the lowest denomination of the currency. Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00. - `state` (string, required) The transaction entry state. Enum: "INITIALISED", "COMPLETED", "REJECTED", "FAILED", "PENDING", "SCHEDULED", "CANCELLED" - `creationTimestamp` (integer, required) ## Response 400 fields (application/json): - `message` (string) When present helps to identify and fix the problem. - `syntaxErrors` (object) Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided. - `syntaxErrors.invalidFields` (array) - `syntaxErrors.invalidFields.params` (array) - `syntaxErrors.invalidFields.fieldName` (string) - `syntaxErrors.invalidFields.error` (string) Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE" ## Response 409 fields (application/json): - `errorCode` (string) Enum: "UNRESOLVED_FEE_TYPE", "UNRESOLVED_CURRENCY", "UNRESOLVED_INSTRUMENT", "FUNDS_INSUFFICIENT", "IDENTITY_NOT_OWNER_OF_INSTRUMENT", "FEE_AMOUNT_NOT_SET" ## Response default fields (application/json): - `code` (string) - `message` (string) ## Response 401 fields ## Response 403 fields ## Response 429 fields ## Response 500 fields ## Response 503 fields