Utilización de la conversión de divisas con Clerk.io en otras plataformas / plataformas personalizadas
Platforms:
Existen múltiples formas de trabajar con la conversión de divisas en Clerk.io. A continuación se describe una forma sencilla de hacerlo funcionar.
1. Enviando los diferentes precios en el feed
Clerk necesita conocer los precios de cada producto en las diferentes divisas. La forma más sencilla de hacerlo es enviarlos como un dictado de precios formateados, con el símbolo de la moneda como clave, en su Data Feed.
**Ejemplo
**JSON
"products": [
{
"id": 1,
"name": "Cheese",
"description": "A nice piece of cheese.",
"price": 100,
"list_price": 50,
"categories": [25, 42],
"image": "http://example.com/images/products/1.jpg",
"url": "http://example.com/product/1",
"prices_formatted": "{'USD':'$100', 'EUR':'€ 87.70', 'GBP':'£ 68.68'}"
},
{
"id": 2,
"name": "A pound of nuts",
"description": "That's a lot of nuts!",
"price": 150,
"categories": [1],
"image": "http://example.com/images/products/2.jpg",
"url": "http://example.com/product/2",
"prices_formatted": "{'USD':'$150', 'EUR':'€142', 'GBP':'£120'}"
}
]
2. Creación de un formateador
En el script de seguimiento insertado en cada página de su tienda, puede definir funciones JavaScript, que pueden ser utilizadas dentro de nuestras plantillas.
Aquí puede definir una función que tome su dictamen de precio como argumento, y devuelva el precio para una divisa específica, que puede elegir que coincida con el lugar de la divisa en el dictamen de precio.
Asegúrese de que su código sustituye divisa por la divisa elegida actualmente en el frontend.
**JavaScript
Clerk('config', {
key: 'Your_API_Key',
formatters: {
currency_selector: function (price_list) {
const currency = "EUR";
price_groups_obj = JSON.parse(price_list)
return price_groups_obj[currency];
}
}
});
3. Uso del formateador en los diseños Clerk
Por último, puede utilizar esta función como parte de su diseño.
HTML
<div class="price">
<span class="price">
{{ product.prices_formatted | currency_selector }}
</span>
</div>