Currency conversion

Overview

In general, a payment may involve three currencies: customer account currency, payment currency, and merchant account currency. If all three currencies are the same, there is no need for currency conversion; otherwise you need to convert the payment amount between currencies.

Suppose that the customer uses their dollar-denominated card to pay a certain amount in euros to the merchant whose account is denominated in pound. The payment amount is consecutively converted from dollars to euros and then from euros to pounds. The first conversion operation is performed by the issuer or by the alternative payment system. The second conversion operation is performed by the ecommpay payment platform.

You can also perform the conversion on your side and send the converted amount in the desired currency in the requests for operations performing.

For payments that use Gate, the ecommpay payment platform offers Automatic payment currency selection: the customer cannot select payment currency while the exchange rate is dictated by the payment system. This option is available for payouts and one-time purchases by using all payment methods. Automatic payment currency selection uses exchange rates set by ecommpay. To learn more about exchange rates, contact your account manager.

You can get the information about conversion operations performed by the payment platform from the callbacks with payment results, from Dashboard, or from regular reports sent to email addresses you specify. We recommend that you use this information for reconciliation with ecommpay because issuers and alternative payment systems use the merchant account currency to keep record of the merchant transactions.

It should be also taken into account that the operation amount and the amount actually debited from the customer's account may not be the same, since currency exchange rates usually differ on the date when the payment was initiated and the date when the funds were actually debited. For conversion and compensation in such cases, the customer should contact the card issuer or the organization where the account is opened.

To find out which payment methods in which currencies support conversion, please refer to the description of this method or to the ecommpay key account manager.

Setup

You do not need to update your web service to support automatic payment currency selection.

Usage

Automatic payment currency selection does not require any additional efforts and is automatically performed during payment procedure.

Any conversion information is added in payment result callbacks into two objects embedded into the operation object: the sum_initial object contains the amount and the currency before conversion while the sum_converted object contains the amount and the currency after the conversion operation. For more information about these objects, see Callbacks.

Below you will find the example of payment with a conversion operation in which 100 USD are converted into 519,41 PHP debited to merchant account denominated in Philippine peso.

Figure: Sample callback with the result of a payment that requires currency conversion

 {
        "project_id": 239,
        "payment": {
            "id": "EPfa87-bcfd",
            "type": "purchase",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "method": "Philippines banks",
            "sum":{ 
              "amount":10000, // Initially requested amount
              "currency":"USD" // Initial requested currency
            },
            "description": ""
        },
        "operation": {
            "id": 464,
            "type": "sale",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "created_date": "2020-03-06T14:10:34+0000",
            "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000001",
            "sum_initial": {
                "amount":10000, // Initially requested amount
                "currency":"USD" // Initially requested currency
            },
            "sum_converted": {
                "amount":519410, // Amount after conversion
                "currency":"PHP" // Automatically selected target currency
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1369,
                "payment_id": "7QKID3P3",
                "auth_code": "",
                "endpoint_id": "BOG",
                "date": "2020-03-06T14:10:54+0000"
            }
        },
        "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGoA=="
    }
}