LogoLogo
NymCardAPI catalogContact usnFront catalog
  • NYMCARD DOCUMENTATION
  • Get Started
    • nCore API Quick Tutorial
    • API Core Principles
    • Program management
      • Manage documents by APIs
      • User KYB process
      • Necessary parameters per user type
      • User ID verification by SDK
      • User KYC process
    • Issuance
      • Users
      • Cards
    • Issuing Physical Cards
      • Individual card issuance
      • Bulk card issuance
      • Card fulfillment
      • Card PIN management
      • Card replacement
      • Proxy number usage
    • Issuing Virtual Cards
      • Migration of virtual to physical card
    • Funding and transfers
      • Funding
      • Internal funding source
      • External funding source
        • From card
        • From bank account
        • Lean API flow
        • DAPI direct API flow
      • Transfers
      • Western Union APIs
      • Checkout widget
    • Product Management
      • Card product
      • Balance limits
      • Velocity limits
      • Fees
      • Charges
      • Multi-currency
      • Authorization controls
        • Enhancements for MCC list management
    • Transactions
      • Payment ecosystem
      • Transaction lifecycle
      • Transaction types
      • Transaction endpoints scenarios
      • Multi-clearing process
    • Webhooks
      • Introduction to webhooks
      • nCore webhook events
      • Steps to configure a webhook
      • Webhooks samples
      • Webhook changes for simulation
      • Webhooks management
    • Security
      • PCI widget
      • 3D Secure
      • OTP SMS templates
    • Release announcements
      • Embedded Lending Release Notes
      • Changes in the release on 13/07/2023
      • Changes in the release on 23/05/2023
      • Changes in the release on 04/04/2023
  • For developers
    • nCore API catalog
    • nFront API catalog
Powered by GitBook
On this page
  • Introduction
  • Fee APIs
  • Fee configuration for individual channel
  • Advanced fees

Was this helpful?

  1. Get Started
  2. Product Management

Fees

PreviousVelocity limitsNextCharges

Last updated 9 months ago

Was this helpful?

On this page:

Introduction

The fee generally refers to a stream of revenue generating from your customers. Which means that when the cardholder performs a transaction an associated fee with the card product will be charged.

At nCore platform you can link different fees on the card product based on transaction types (e.g. purchase, withdrawal, and etc.). The transaction will be authorized only if there are sufficient funds available in the account which means it is real time fee evaluation. Real time fee evaluation requires that the account has sufficient funds available to cover both the transaction amount and the fee to authorize the transaction.

What does it mean to have sufficient funds?

There are typically three types of amounts involved in an authorization, which are:

  • Transaction amount (TA) is the amount requested in the authorization

  • Acquirer fee (AF) is the fee that is charged by the acquirer (optional)

  • Issuer fee (IF) issuer fee is the fee that you configure and link to the card product (optional)

In order to authorize the transaction the account should have sufficient funds to cover the three amounts, otherwise the authorization will be declined. That is funds in account ≥ TA + AF + IF.

Following are the fee types offered in nCore.

S No.

Fee Type

Fee Description

1

Flat fee

A fixed amount that the cardholder pays regardless of the transaction amount

2

Percentage fee

A percentage applied on the transaction amount that the cardholder pays

3

Range fee

Transaction amount based fee slabs where each slab has a flat fee or a percentage fee

Fee APIs

Create a fee

You can create a fee as required by sending a POST request to /fees endpoint as given below.

Retrieve a fee

nCore offers two retrieval options for fees.

Retrieve all fees

You can retrieve all existing fees by sending a GET request to /fees endpoint as shown below.

Retrieve a specific fee

You can retrieve a specific fee by sending a GET request to /fees/{fee_id} endpoint as shown below.

Update a fee

You can update a specific fee as required. Send a PUT request to /fees/{fee_id} endpoint.

Link a fee with a card product

You can link a fee with a card product by sending a POST request to /cardproducts/{id}/fees:link endpoint as given below.

Unlink a fee from a card product

You can unlink a fee from a card product as per your requirement by sending a POST request to /cardproducts/{id}/fees:unlink endpoint. Noted that fee will not charge for a specific card product after unlinking it.

Retrieve linked fees

You can retrieve all fees which are linked with your card product. Send a GET request to /cardproducts/{id}/fees endpoint as shown below.

Fee configuration for individual channel

Also we implemented ability to post fee on recipient account instead of sender account, so you can charge the transfer funds fee to recipient instead of sender.

If there is a fee plan (with ‘source_channel’ = ‘DAPI’, ‘MPGS’ or ‘ANY’) linked to the recipient card product and ‘source_channel’ in the transfer request received is either ‘MPGS’ or ‘DAPI’, then fee is being deducted from the recipient account. Below you can find a table which describes different scenarios:

Advanced fees

We have added ability for system to allow fees configuration along with the dynamic conditions so that fees can be applied based on the configured conditions.

Below you can find possible condition types:

  • "MCC"

  • "MERCHANT_ID"

  • "ACQUIRER_COUNTRY"

  • "KYC_LEVEL"

  • "TRANSFER_TYPE"

  • "IS_FORIEGN_CURRENCY_FEE"

  • "SCHEME_SCOPE" (has such enums as VISA, MASTERCARD, MERCURY, UNIONPAY)

  • "PURCHASE_TYPE" (has such enums as PURCHASE and ECOMMERCE)

  • "API_CHANNEL" (has such enums as API, MPGS, DAPI, LEAN)

  • "TRANSACTION_ORIGIN" (has such enums as DOMESTIC, FOREIGN and ANY)

Following new endpoints are implemented to maintain advanced fees:

Besides, we have added new parameter “is_forex_fee" in advanced fees. This parameter works in combination with transaction type same as PURCHASE_FOREIGN_CURRENCY in fees.

{ "description": "Withdrawal Fee", "type": "FLAT", "currency": “USD”, "amount": 2.5, "transaction_type": "WITHDRAWALS", "transaction_origin": "DOMESTIC" }

{ "description": "Withdrawal Fee", "active": true, "type": "RANGE", "currency": "USD", "range": [ { "greater_than": 0, "less_than_equal_to": 1000, "percentage": 3 },

{ "greater_than": 1000, "less_than_equal_to": 2000, "percentage": 2 }

] }

We introduce new ‘source_channel’ parameter , which is added to the APIs. Possible values are ‘MPGS’, ‘DAPI’ or ‘ANY’ (default). It gives an opportunity to choose an appropriate channel, so that fee for every channel can be applied accordingly. This parameter is currently applicable for ‘transaction_type’ = ‘TRANSFERS’ only.

– POST v1/advancedfees

– PUT v1/advancedfees/{id}

– GET v1/advancedfees

– GET v1/advancedfees/{id}

- POST v1/cardproducts/{id}/advancedfees:link

- POST v1/cardproducts/{id}/advancedfees:link

- GET v1/cardproducts/{id}/advancedfees

POST /fees
GET /fees
GET /fees/{fee_id}
PUT /fees/{fee_id}
POST /cardproducts/{id}fees:link
POST /cardproducts/{id}/fees:unlink
GET /cardproducts/{id}/fees
Fees
Create advanced fees
Update advanced fees
Get all advanced fees
Get specific advanced fee
Link advanced fee to card product
Unlink advanced fee from card product
Get list of advanced fees related to the card product
Introduction
Fee APIs
Fee configuration for individual channel
Advanced fees