Pago con FX
Permita a los clientes pagar en su moneda local.
La función Pago con divisas permite a sus clientes realizar transacciones en la moneda que elijan, incluso si esa moneda es diferente de la que admite su método de pago. El proceso de cambio de divisas es transparente para el cliente.
Puedes aceptar un pago con FX desde miles de métodos de pago (tarjeta, transferencia bancaria, Billetera electrónica, con diferentes monedas).
Los casos de uso comunes pueden incluir:
Vendes mercancía en tu tienda online y aceptas varios métodos de pago de clientes internacionales que utilizan una moneda local diferente.
Usted es un contratista independiente que acepta pagos de clientes internacionales.
Su empresa con sede en Europa vende productos en su tienda en línea. Un cliente de los Estados Unidos quiere comprarte un producto que cuesta 370 euros (euros). Sin embargo, el cliente utiliza un método de pago que solo admite USD (dólares estadounidenses).
Rapyd facilita la transición tanto para el comerciante como para el cliente a través de la función de pago con divisas.
Certificación PCI
Solo clientes con PCI-DSS La certificación puede gestionar la información de identificación personal de las tarjetas. Este método está disponible para los comerciantes que hayan firmado un acuerdo especial con Rapyd
Puedes aceptar un pago con FX desde miles de métodos de pago (tarjeta, transferencia bancaria, monedero electrónico, con diferentes monedas).
Cómo funciona describe cómo encontrar los métodos de pago específicos que aceptarás y sus campos obligatorios.
Paso 1: Compra por parte del cliente

Un cliente añade un artículo en su sitio web que cuesta 370 EUR (euros) a la cesta de la compra. El cliente quiere pagar en USD (dólares estadounidenses). El cliente pulsa el botón de pago y llega a la página de pago. El cliente selecciona el método de pago de su elección (tarjeta, transferencia bancaria, billetera electrónica, con diferentes monedas)
Le pides a Rapyd los campos obligatorios del método de pago y se los presentas al cliente.
El cliente rellena los detalles requeridos y confirma el pago pulsando Pague.
Paso 2: Procesamiento del pago
Nota
Comprueba si la moneda del tipo de método de pago es diferente de la moneda del sitio web.

El back-end de tu sitio web le pide a Rapyd que procese el pago con FX en la moneda del destinatario (EUR).
Rapyd procesa el pago y envía una respuesta al back-end del sitio web.
Tu sitio web muestra una página que indica al cliente que la compra se ha realizado correctamente.
Descubre cómo elegir los métodos de pago que aceptarás y busca sus campos obligatorios. El cliente debe rellenar estos campos para el método de pago.
En tu página de pago, permites al cliente elegir un método de pago. Para procesar el pago con FX, debes:
Decide qué métodos de pago aceptarás.
Para conocer los métodos de pago aceptados, utilice Enumere los métodos de pago por país con los siguientes parámetros:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
país | Entrar NOSOTROS como abreviatura del país. |
moneda | Entrar USD como código de divisa. |
Solicitud de lista de métodos de pago por país
Solicita la lista de todos los métodos de pago disponibles en EE. UU. que admiten USD.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/country?country=US¤cy=USD // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string country = "US"; string currency = "USD"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payment_methods/country?country={country}¤cy={currency}"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/country?country=US¤cy=USD'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/country?country=US¤cy=USD'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request country = 'US' currency = 'USD' results = make_request(method='get', path=f'/v1/payment_methods/country?country={country}¤cy={currency}') pprint(results)
Lista de métodos de pago por país Respuesta
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "2ae2817f-a9ff-464c-a5e9-e6dfb04d4ea3" }, "data": [ // ... { "type": "us_debit_mastercard_card", "name": "Mastercard", "category": "card", "image": "https://iconslib.rapyd.net/checkout/us_mastercard_card.png", "country": "US", "payment_flow_type": "card", "currencies": [ "USD" ], "status": 1, "is_cancelable": false, "payment_options": [ { "name": "customer", "type": "customer", "regex": "", "description": "make sure a customer was created with first_name, last_name and email", "is_required": true, "is_updatable": false } ], "is_expirable": false, "is_online": false, "minimum_expiration_seconds": null, "maximum_expiration_seconds": null }, // ... ] }
El datos La sección de esta respuesta muestra que Mastercard es un método de pago aceptable.
Debes averiguar qué campos debe rellenar el cliente para el método de pago.
Usarás el Campos obligatorios para obtener el método de pago con el siguiente parámetro:
Descripción de los parámetros de ruta
Parámetro de ruta | Descripción |
|---|---|
tipo | Entrar us_debit_mastercard_card como tipo de método de pago. |
Obtener el método de pago Campos obligatorios Solicitud
Solicita el conjunto de campos obligatorios:
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/us_debit_mastercard_card/required_fields // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string type = "us_mastercard_card"; string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payment_methods/{type}/required_fields"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/us_mastercard_card/required_fields'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/us_mastercard_card/required_fields'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Pitón
from pprint import pprint from utilities import make_request payment_method = 'us_mastercard_card' results = make_request(method='get', path=f'/v1/payment_methods/{payment_method}/required_fields') pprint(results)
Obtener el método de pago Campos obligatorios Respuesta
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "25bdf361-e575-4baf-a180-6cd4602201e8" }, "data": { "type": "us_debit_mastercard_card", "fields": [ { "name": "number", "type": "string", "regex": "", "is_required": true, "instructions": "card number" }, { "name": "expiration_month", "type": "string", "regex": "", "is_required": true, "instructions": "expiration month as string, 01-12" }, { "name": "expiration_year", "type": "string", "regex": "", "is_required": true, "instructions": "expiration year in to digits as string, 18-99" }, { "name": "cvv", "type": "string", "regex": "", "is_required": true, "instructions": "card cvv" }, { "name": "name", "type": "string", "regex": "", "is_required": false, "instructions": "card holder name" }, { "name": "address", "type": "Address", "regex": "", "is_required": false, "instructions": "card billing address. see Address object for more details" } ], // ... "minimum_expiration_seconds": null, "maximum_expiration_seconds": null } }
La respuesta muestra que los campos obligatorios para us_debit_mastercard_card son:
número- El número de la tarjeta de crédito.mes_caducidad- El mes de caducidad de la tarjeta de crédito.año_caducidad- El año de caducidad de la tarjeta de crédito.cvv- El número de verificación de la tarjeta.
Nota: La respuesta muestra que el nombre y dirección los campos NO son obligatorios.
Obtenga FX Rate Call
Puede comprobar el tipo de cambio actual con Obtenga el tipo de cambio.
Cuando el cliente realiza el pago en tu sitio web, le pides a Rapyd que procese el pago con tarjeta del cliente y que convierta la moneda de USD a EUR.
Usarás Crear pago con los siguientes parámetros:
Descripción de los parámetros corporales
Parámetro corporal | Descripción |
|---|---|
cantidad | Entrar 370 como la cantidad de EUR a pagar. |
moneda | Entrar EUR como la moneda que recibirá el vendedor. |
caducidad | Introduzca la fecha de caducidad de la transacción, en tiempo Unix. |
divisa_solicitada | Entrar USD como la moneda admitida por el método de pago. |
método_pago | Introduzca un objeto con los siguientes campos:
|
Crear solicitud de pago
Le pides a Rapyd que procese el pago de 370 EUR (euros) del cliente y que te cobre el pago de inmediato.
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments // Message body: { "amount": 370, "currency": "EUR", "expiration": 1591173527, "fixed_side": "buy", "payment_method": { "type": "us_debit_mastercard_card", "fields": { "number": "4111111111111111", "expiration_month": "10", "expiration_year": "20", "cvv": "123" } }, "requested_currency": "USD" }
.NET Core
using System; using System.Text.Json; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { var requestObj = new { amount = 370, currency = "EUR", expiration = 1591173527, fixed_side = "buy", payment_method = new { type = "us_mastercard_card", fields = new { number = "4111111111111111", expiration_month = "10", expiration_year = "20", cvv = "123", } }, requested_currency = "USD" }; string request = JsonSerializer.Serialize(requestObj); string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/payments", request); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const body = { amount: 370, currency: 'EUR', requested_currency: 'USD', fixed_side: 'buy', payment_method: { type: 'us_visa_card', fields: { number: '4111111111111111', expiration_month: '10', expiration_year: '20', cvv: '123' } }, expiration: 1601173527 }; const result = await makeRequest('POST', '/v1/payments', body); console.log(result); } catch (error) { console.error('Error completing request', error); } }
Pitón
from pprint import pprint from utilities import make_request payment_body = { "amount": 370, "currency": "EUR", "expiration": 1591173527, "fixed_side": "buy", "payment_method": { "type": "us_mastercard_card", "fields": { "number": "4111111111111111", "expiration_month": "10", "expiration_year": "20", "cvv": "123" } }, "requested_currency": "USD" } create_payment_response = make_request(method='post', path='/v1/payments', body=payment_body) pprint(create_payment_response)
Respuesta de pago con divisas
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "4b257ecb-2775-4a3d-a829-978ead4d6dff" }, "data": { "id": "payment_02e2ce0763a6473ef7788109ae5d0479", "amount": 426.13, "original_amount": 426.13, "is_partial": false, "currency_code": "USD", "country_code": "US", "status": "CLO", // ... "paid": true, "paid_at": 1583308522, // ... "payment_method_type": "us_debit_mastercard_card", "payment_method_type_category": "card", "fx_rate": "1.151688", "merchant_requested_currency": "EUR", "merchant_requested_amount": 370, "fixed_side": "buy", "payment_fees": null, "invoice": "", "escrow": null, "group_payment": "" } }
El datos la sección de esta respuesta muestra:
El
cantidades 426.13, que es la cantidad equivalente a USD requerido para el 370 EUR pago.El
merchant_requested_amountes 370,00, que es la cantidad de EUR que se paga.El
fx_ratees el EUR para USD tipo de cambio de 1.151688.El
paid_ateste campo indica la hora de finalización de la operación de pago, en Hora de Unix.