Custom Fees

Custom Fees allow partners to specify additional fees for transactions processed through their platform. By leveraging Custom Fees, partners can adjust the fee structure for specific transactions, enabling flexible pricing models tailored to their business needs.

Eligibility and Requirements

To use Custom Fees, the following conditions must be met:

Partner Brand Configuration:

  • Your partner brand must have Custom Fees enabled. Contact your account manager or support to verify and enable this feature.

Transaction Type Restrictions:

  • The transaction must not be a surcharged transaction.
  • The transaction must not involve Google Pay, Apple Pay, or be a card-present transaction (e.g., transactions processed through physical terminals).
  • The transaction must not be a Trust account transaction.

Custom Fee Amount:

  • The Custom Fee specified must be greater than the standard fee for the merchant account.
  • The Custom Fee must not exceed the transaction total.

Implementation Guide

Step 1: Ensure Eligibility

Before implementing Custom Fees, confirm that all eligibility criteria are met:

  • Verify that your partner brand has Custom Fees enabled.
  • Check that the transaction type is supported.
  • Ensure that the merchant account is not a Trust account.

Step 2: Specify Custom Fee in Transaction Request

When processing a transaction, include the meta.customFee parameter in your API request to specify the Custom Fee amount.

Step 3: Handle API Responses

The API response will include information about whether the Custom Fee was applied or if there were issues.

Success Response (200 OK):

{
  "id": "txn_123456789",
  "type": "charge",
  "status": "authorized",
  "amount": 100.00,
  "currency": "USD",
  "payment_method_id": "pm_987654321",
  "created_at": "2023-01-01T12:00:00Z",
  "meta": {
    "customFeeApplied": true,
    "customFeeMessage": "Custom fee applied successfully."
  }
}

Example of Response When Custom Fee is Not Applied:

{
  "id": "txn_123456789",
  "type": "charge",
  "status": "authorized",
  "amount": 100.00,
  "currency": "USD",
  "payment_method_id": "pm_987654321",
  "created_at": "2023-01-01T12:00:00Z",
  "meta": {
    "customFeeApplied": false,
    "customFeeMessage": "Custom fee not used, source not allowed."
  }
}

Step 4: Communicate Fees to Merchants

Certification Requirement:

You must clearly communicate to the merchant any additional fees assessed due to Custom Fees. Transparency is essential for compliance and maintaining trust with your merchants.

Best Practices:

  • Disclosure: Inform merchants about the Custom Fee amount and how it affects their transaction costs.
  • Documentation: Provide documentation or agreements that outline the fee structures.
  • Support: Be prepared to address merchant questions regarding Custom Fees.

Examples and Use Cases

Applying a Custom Fee Successfully

Scenario:

  • Partner wants to apply a $2.50 Custom Fee to a $100.00 transaction.
  • All eligibility conditions are met.

Request:

{
  "payment_method_id": "pm_987654321",
  "total": 100.00,
  "meta": {
    "customFee": 2.50
  }
}

Reponse:

{
  "id": "txn_123456789",
  "type": "charge",
  "status": "authorized",
  "amount": 100.00,
  "currency": "USD",
  "payment_method_id": "pm_987654321",
  "created_at": "2023-01-01T12:00:00Z",
  "meta": {
    "customFeeApplied": true,
    "customFeeMessage": "Custom fee applied successfully."
  }
}

Custom Fee Not Applied Due to Transaction Type

Scenario:

  • Partner attempts to apply a $2.50 Custom Fee to an Apple Pay transaction.
  • Transaction type is not supported.

Request:

{
  "payment_method_id": "pm_applepay_123456",
  "total": 100.00,
  "meta": {
    "customFee": 2.50
  }
}

Response:

{
  "id": "txn_987654321",
  "type": "charge",
  "status": "authorized",
  "amount": 100.00,
  "currency": "USD",
  "payment_method_id": "pm_applepay_123456",
  "created_at": "2023-01-01T12:05:00Z",
  "meta": {
    "customFeeApplied": false,
    "customFeeMessage": "Custom fee not used, source not allowed."
  }
}

Error Handling

When implementing Custom Fees, it's crucial to handle errors gracefully. Ensure your application:

  • Checks the meta.customFeeApplied flag to confirm if the Custom Fee was applied.
  • Reads the meta.customFeeMessage to understand why a Custom Fee was not applied.
  • Communicates any issues to the user or merchant appropriately.

If the Custom Fee is not applied, the response will include the meta.customFeeMessage field explaining why.

Possiblemeta.customFeeMessage Values:

ErrorMeaning
Custom fee not used, unsupported brand.Custom Fees are not enabled for your partner brand.
Custom fee not used, unsupported brand.Custom Fees are not enabled for your partner brand.
Custom fee not used, defaulting to minimum fee.The Custom Fee provided is not sufficient to cover the minimum fee.
Custom fee not used, trust accounts do not support custom fees.Custom Fees are not supported for Trust accounts.
Custom fee not used, source not allowed.Custom Fees are not supported for this transaction type (e.g., Google Pay, Apple Pay).
Custom fee not used, surcharged transaction.Custom Fees cannot be applied to surcharged transactions.
Custom fee not used, custom fee is higher than transaction total.The Custom Fee exceeds the transaction total.

Best Practices

Validation: Before submitting a transaction, validate that all eligibility criteria for Custom Fees are met.

Monitoring: Keep logs of transactions and Custom Fee applications for auditing purposes.

Updates: Stay informed about any changes to Custom Fees policies or eligibility criteria by regularly reviewing the Partner API documentation or updates from your account manager.

Compliance: Ensure all fee disclosures comply with relevant financial regulations and industry standards.


Contact Support

If you have questions or need assistance with Custom Fees:

Email: [email protected]