Skip to content
This repository has been archived by the owner on Apr 25, 2019. It is now read-only.

Handle address provider unsupported currencies when creating a new order #18

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

renechz
Copy link
Contributor

@renechz renechz commented Feb 23, 2016

When trying to create a #new_order for a Gateway with an AddressProvider
that doesn't support the given currency we now convert that currency to
one the AddressProvider can handle using the FixerAdapter rates that apply.

…TE_CURRENCY

The current implementation for `FixerAdapter#rate_for`, which inherits from
`FiatAdapter#rate_for`, was calling for `super` but wasn't honoring the
result from `super` when the given `currency_code` was the `CROSS_RATE_CURRENCY`
and would raise a `CurrencyNotSupported` error instead of using the
`return 1` from the `CROSS_RATE_CURRENCY` comparison.
When trying to create a `#new_order` for a Gateway with an `AddressProvider`
that doesn't support the given currency we now convert that currency to
one the AddressProvider can handle using the `FixerAdapter` rates that apply.
Address providers are expected to define this method as an Enumerable
with valid currency codes. e.g. 'EUR', 'USD'.
This method is used to determine if a the currency should be converted
to one the address provider supports when creating an order.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant