We will be using the name value pair (NVP) integration because it's mature and supports the longest list of currencies, including Japanese accounts.
This EC NVP support can be written as a new payment method under the PayPal adapter. This is a redirect method, so the only form is an interstitial in case of an invalid amount.
This task is complete when we can call and test the API, and a workflow is in place to interact with the donor.
Followup work: We should eventually look into a v.zero (Braintree) integration, once that's mature and as it supports more currencies.