Skip to content
This repository was 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
renechz wants to merge 3 commits intomasterfrom
feature/adapt-unsupported-currencies
Open

Handle address provider unsupported currencies when creating a new order #18
renechz wants to merge 3 commits intomasterfrom
feature/adapt-unsupported-currencies

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