What is the difference between billingCurrency, countryCode and currencyCode?

When creating a merchant billingCurrency and countryCode is defined

countryCode: The country of the merchant. Will be used for invoicing between PSP and MobilePay if billingCurrency is not set.

billingCurrency: If the merchant is invoiced by the PSP in a currency of another country than given in countryCode you can give this invoice currency here. It will 'override' countryCode when we make your invoice. 

When initiating a payment currencyCode is defined

currencyCode: This defines the currency of the payment, and will not influence billing.