- 19 Jun 2024
- 4 Minutos para leer
Integración con checkout
- Actualizado en 19 Jun 2024
- 4 Minutos para leer
Integración de Checkout
Para realizar una integración de pago con redireccionamiento, es necesario seguir los siguientes pasos:
Autenticación de servicios
Registrar checkout
Redireccionamiento al checkout de pago
Redireccionamiento de éxito o cancelación
1.- Autenticación de servicios
Deberás de copiar las credenciales de acceso al API, para llamar al servicio de autenticación de OrkestaPay y obtener un token de acceso que se utilizará para llamar al resto de servicios.
![](http://cdn.document360.io/d280fbda-f1dc-4a06-a472-57c0078ab3ec/Images/Documentation/OrkestaPay%20(2)(2)(4).png)
Petición hacia el servicio
Después de copiar las credenciales, deberás de buscar los textos "REPLACE_WITH_YOUR_CLIENT_ID” y “REPLACE_WITH_YOUR_CLIENT_SECRET" en el script de abajo y reemplazarlos con los valores copiados para poder ejecutar la llamada al servicio mediante shell:
- client_id: Llave de acceso
- client_secret: Llave secreta
Tipo de permisos
La propiedad "grant_type" siempre se deberá de llevar el valor "client_credentials", dado que es el modelo de funcionamiento del protocolo oAuth 2.0 que utilizaOrkestaPay para autenticar los servicios.
curl --request POST \
--url https://api.sand.orkestapay.com/v1/oauth/tokens \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '
{
"client_id": "REPLACE_WITH_YOUR_CLIENT_ID",
"client_secret": "REPLACE_WITH_YOUR_CLIENT_SECRET",
"grant_type": "client_credentials"
}
'
Respuesta del servicio
Como resultado de la llamada al servicio de autenticación se regresará un token JWT, el cual se utilizará en todos los siguientes llamados a los servicios del API deOrkestaPay.
{
"token_type": "Bearer",
"expires_in": 1800,
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwenJMTnEwbzBab1R4NTlaeWVPaTI1RGxZLWl6cV91SVFSLThWS0RaWjlFIn0.eyJleHAiOjE2Njk4NTAzNTAsImlhdCI6MTY2OTg1MDE3MCwianRpIjoiMWI4MWZhMDItMzk2ZC00NGNjLWJlMzctZGU4ZWQyODg2MTEyIiwiaXNzIjoiaHR0cHM6Ly9kZXYtYXV0aC56ZW5raS5maS9hdXRoL3JlYWxtcy9wYnciLCJzdWIiOiIxMjgyNjJhOS00NDgxLTQ4OGItYTczNi1iNmI5MTA1NjQ4MzQiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiI1MDg3ODE3MDhjNzk5MTE5NTJkZGJlYWZkZjM5NjNmNTcxYjNjYzE4YzE5YmNkY2YiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHBzOi8vcG9ydGFsLWRldi56ZW5raS5maSJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsiYXBpIiwiYXBpX3plbmtpcGF5Il19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImNsaWVudEhvc3QiOiIzNS44NS4yMy4xOTAiLCJjbGllbnRJZCI6IjUwODc4MTcwOGM3OTkxMTk1MmRkYmVhZmRmMzk2M2Y1NzFiM2NjMThjMTliY2RjZiIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC01MDg3ODE3MDhjNzk5MTE5NTJkZGJlYWZkZjM5NjNmNTcxYjNjYzE4YzE5YmNkY2YiLCJjbGllbnRBZGRyZXNzIjoiMzUuODUuMjMuMTkwIn0.Ds5eQ-tkn4ckTUHI-mrJn6eYBaUa-6uZNxzrGRfYc5neI1TvB2RHu_IDsktDVi9XdR5P_P0mSpzar9jWJOrxxA_csTnn9ZXy8rDeRqjMm9j03xWz-tZcxiUM6xvN1qvOeBGFzISIP9y24jyL0Jqpl8YhkSGF8xBfFvfhOvEMvgLby5n7dTDoZVi2Bw8G1kZJKPejmBu8MJetl08OoVk_obp6lW3YetQPYTwsutOc_yIxBIUkPSH2Gj3wpBxBa8EfMES4J1SAT7Thpw_CmZ_PNB9rEDUJI4bzE7QM2Z0n4LNXzbo5JFuWudKwfhqOcryH0slmHOamJgbtR5EGryf8LQ"
}
2.- Registrar checkout
Después de obtener el token de acceso, se deberá registrar un checkout llamando el servicio de crear checkout en el API de OrkestaPay.
Petición hacia el servicio
Se deberá llamar al servicio de "crear checkout" y como parte de la petición, se deberá de enviar un par de URL’s que servirán para redireccionar al comprador una vez que se haya completado el pago (REPLACE_WITH_YOUR_SUCCESS_URL), o bien que éste haya sido cancelado (REPLACE_WITH_YOUR_CANCEL_URL). Adicional se debe de enviar la cabecera Authorization
y como valor el access_token
obtenido en el paso 1. Deberás de buscar el texto "REPLACE_WITH_YOUR_ACCESS_TOKEN" en el script de abajo y reemplazar con el token JWT.
curl --request POST \
--url https://api.sand.orkestapay.com/v1/checkouts \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer REPLACE_WITH_YOUR_ACCESS_TOKEN' \
--data '
{
"completed_redirect_url": "REPLACE_WITH_YOUR_SUCCESS_URL",
"canceled_redirect_url": "REPLACE_WITH_YOUR_CANCEL_URL",
"allow_save_payment_methods": false,
"locale": "ES_LATAM",
"order": {
"merchant_order_id": "1366656595193",
"currency": "MXN",
"subtotal_amount": 1000,
"country_code": "MX",
"discounts": [
{
"amount": 10
}
],
"total_amount": 990,
"products": [
{
"id": "7197",
"name": "Pantalla TCL Smart TV Serie A3 A343 HD Android TV 40",
"quantity": 1,
"unit_price": 1000
}
],
"customer": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@yopmail.com"
}
}
}
'
Respuesta del servicio
Al registrar un checkout, se regresará la siguiente información. Por el momento y para fines del ejemplo, solo será de interés el checkout_redirect_url
.
{
"checkout_id": "chk_e69283cb55814402b9372a2f834cc8a8",
"checkout_redirect_url": "https://checkout.dev.orkesta.io/#/checkout/chk_e69283cb55814402b9372a2f834cc8a8/6f2d8077c669f0512cb655c1f2d19b3cc020f5fd8b17152e0d3de675575e8f69",
"completed_redirect_url": "https://example.com/complete",
"canceled_redirect_url": "https://example.com/cancel",
"allow_save_payment_methods": false,
"locale": "ES_LATAM",
"placed_at": "1713480514319",
"order": {
"order_id": "ord_a73c91e6f6f949a3a39c9557f353d308",
"status": "CREATED",
"expires_at": "1713566914212",
"merchant_order_id": "1366656595193",
"country": "México",
"country_code": "MX",
"currency": "MXN",
"taxes": [],
"discounts": [
{
"amount": 10
}
],
"subtotal_amount": 1000,
"total_amount": 990,
"products": [
{
"product_id": "7197",
"quantity": 1,
"unit_price": 1000,
"name": "Pantalla TCL Smart TV Serie A3 A343 HD Android TV 40"
}
],
"customer": {
"customer_id": "cus_414bae1120844159bf10f1d6c7b30d74",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@yopmail.com",
"created_at": "1713480514197",
"updated_at": "1713480514197"
},
"placed_at": "1713480514267",
"metadata": {}
}
}
3.- Redireccionamiento al checkout de pago
Después de registrar el checkout, redireccionar al comprador a la URL del checkout de pago donde podrá finalizar su compra.
El diseño del checkout se puede personalizar con la marca y branding de tu comercio, esta personalización se configura desde el dashboard de OrkestaPay.
![](http://cdn.document360.io/d280fbda-f1dc-4a06-a472-57c0078ab3ec/Images/Documentation/Orkesta(8).png)
4.- Redireccionamiento de éxito o cancelación
El comprador tendrá la opción de cancelar y volver a la tienda (canceled_redirect_url
) o completar el pago donde al finalizar, será redireccionado a la URL indicada durante el proceso de registro de checkout (completed_redirect_url
). La siguiente imagen es únicamente ilustrativa.
![](http://cdn.document360.io/d280fbda-f1dc-4a06-a472-57c0078ab3ec/Images/Documentation/Captura%20de%20pantalla%202023-12-06%20a%20la(s)%205.08.22%E2%80%AFp.m..png)
NOTA: Es recomendable que en este par de URLs, se proporcionen parámetros que permitan a tu integración gestionar el comportamiento y estatus del pedido/orden de compra.