English
Modules
Checkout
15min
examples of node items { "items" \[ { "image" "https //www mobbex com/wp content/uploads/2019/03/web logo png", "quantity" 2, "description" "mi producto", "total" 50 }, { "type" "subscription", "reference" "subscriptionuid" } ] } clarification images must support https, otherwise they will not be displayed to place subscriptions inside the checkout, an object must be added to the items array with the type "subscription" and as reference the uid of the subscription to which the subscriber will be associated examples of node sources { "sources" \["visa", "mastercard"] } examples of node installments there are 3 ways to limit plans hide certain plans from the entire set of existing plans { "installments" \[" ahora 12", " ahora 18"] } limit the plans selected in the array { "installments" \["1", "3", "ahora 12"] } show special plans based on advanced rules { "installments" \["+uid\ xpdhremog7","+uid id regla avanzada"] } for available payment sources and installment plans, see payment methods and installments payment methods and installments important checkout duration the created checkout can only be used for 60 (or the time defined in the timeout variable) minutes, after that it will expire if the customer tries to pay after this period he will be redirected to the url declared in return url with status 401 (expired) "reference" attribute this attribute is used to avoid duplicate payments it must be unique for each payment transaction to be identified, as mobbex will not allow 2 transactions in "paid" status with the same reference 2 step transaction the checkout module is enabled to use the 2 step transaction or "authorization and capture" this special type of operation requires previous authorization of the merchant to be able to use it documentation on the transaction flow and implementation details can be found at the following link postman download postman https //res mobbex com/dev/mobbexcheckout postman collection json response and webhooks completed transaction by defining the return url parameter the service will redirect to the url provided by http get once the transaction is completed to this url will be added the status of the transaction through the status parameter, the type of transaction generated by the user through the type parameter (cash/card) and the transaction identifier through the transactionid parameter example https //mobbex com/thank you?status=200\&type=cash\&transactionid=nfkvurrux cancelled transaction if the user cancels the transaction status will be 0 and type will be none this as noted indicates that the user did not finish the operation and decided to return to the site example https //mobbex com/thank you?status=0\&type=none\&transactionid= 1 possible status reference it is very important to review the documentation on status and types of documentation as the handling of these will be used during the mobbex trade approval this documentation can be found in the following link statuses and transaction types https //mobbex dev/codigos de estado checkout expiration to avoid that a checkout remains pending of payment after a certain time, they have a default time limit of 60 minutes that can be customized via the "timeout" parameter when creating the checkout by sending the maximum number of minutes you want the checkout to remain active the minimum number of minutes is 1 minute when a checkout expires or expires the service automatically sends a notification via webhook this webhook has a special form described below it should be noted that this webhook is not similar to the operative webhooks { "data" { "checkout" { "items" \[ { " id" "63b47c090038d225bcba1297", "categoryid" "", "description" "mi producto", "entity" "", "image" "https //picsum photos/200/300?grayscale\&blur=2", "productid" "", "quantity" 2, "reference" "", "sku" "", "total" 50, "type" "third party", "uid" "f2d29353 8e09 4237 a7a7 e551cd759ff6", "unitprice" 0 }, { " id" "63b47c090038d225bcba1298", "categoryid" "", "description" "mi otro producto", "entity" "", "image" "https //picsum photos/200/300?grayscale\&blur=2", "productid" "", "quantity" 1, "reference" "", "sku" "", "total" 50 2, "type" "third party", "uid" "51182c25 c341 4000 b048 5ce48d541fc5", "unitprice" 0 } ], "reference" "d0246167 533c 4f3e a56d 467eee21dbe5", "uid" "chk\ d5tct76seam4c1trw9" }, "data" null, "status" { "code" 401 } }, "type" "checkout\ expired" } once this webhook is received, it is understood that the checkout can no longer be paid and it is recommended to return the stock or take the necessary actions from your backend the "data" field will be sent when there have been unsuccessful payment attempts, this field serves as a control of the operation { "data" { "checkout" { "items" \[ { " id" "63bb874426a735b851538775", "categoryid" "", "description" "mi producto", "entity" "", "image" "https //picsum photos/200/300?grayscale\&blur=2", "productid" "", "quantity" 2, "reference" "", "sku" "", "total" 50, "type" "third party", "uid" "4f104654 b81f 48f1 9bf9 14fd2abb7b82", "unitprice" 0 }, { " id" "63bb874426a735b851538776", "categoryid" "", "description" "mi otro producto", "entity" "", "image" "https //picsum photos/200/300?grayscale\&blur=2", "productid" "", "quantity" 1, "reference" "", "sku" "", "total" 50 2, "type" "third party", "uid" "9637ae7c 337f 42ae 8d8f 3c1e346492da", "unitprice" 0 } ], "reference" "ref test checkout ent 1", "uid" "chk 02rh4b42js9aulehx0" }, "data" { "customer" { "email" "demo\@mobbex com", "identification" "12123123", "name" "demo mobbex" }, "entity" { "name" "mi ready", "uid" "myready" }, "payment" { "created" "2023 01 09t03 18 36 589z", "currency" { "code" "test", "locale" "es", "symbol" "t$", "text" "test money" }, "description" "descripción de la venta", "id" "ql18tn2sg5etdmaefmp951", "operation" { "type" "payment v2" }, "reference" "ref test checkout ent 1", "riskanalysis" { "band" "n/a", "level" "n/a" }, "source" { "cardholder" { "identification" "12123123", "name" "demo" }, "expiration" { "month" "12", "year" "34" }, "installment" { "amount" 10, "count" 1, "description" "débito", "reference" "1" }, "name" "visa débito", "number" "450799 0010", "reference" "visa debit", "transaction" { "authorizationcode" "869348355213", "batchno" "", "resultcode" "0", "retrievalreferenceno" "", "ticketno" "740135094293", "transactionid" "ql18tn2sg5etdmaefmp951" }, "type" "card" }, "status" { "code" "400", "data" {}, "message" "estado 400", "resultcode" "0", "text" "rechazado", "view" "default" }, "total" 10, "updated" "2023 01 09t03 18 47 212z" }, "result" true, "source" { "name" "visa débito", "reference" "visa debit", "type" "card" }, "user" { "email" "demo\@mobbex com", "name" "demo mobbex" }, "view" { "type" "card" } }, "status" { "code" 401 } }, "type" "checkout\ expired" } this special webhook will not be sent when there is an operation in the following states 200 3 210 300 301 2 100 parámetro webhookstype this parameter should be used to limit the webhooks received, for example when we only want to be notified when a transaction reaches a final status but not when there are unsuccessful payment attempts webhook type options all this is the default option and the service will send any transaction attempt made by the customer during checkout payment final webhooks will only be sent when the customer reaches a final status, such as an approved payment all other statuses will not be sent although the checkout status will be sent in the expiration webhook discussed above states that will be notified 200, 3, 300, 301, 2 intermediateandfinal intermediate statuses will be sent to the previous option, e g a transaction under review for fraud additional states to the "final" type that will be sent 100, 210 none in this option no checkout will be sent even if the url of the checkout is defined only use this option in special cases if you use this option you must get the status of the checkout via api using the defined "reference" if the checkout expires and the operation changes status, for example from "on hold (2)" to "rejected (400)" the notification will be sent in "all", "final" and "intermediateandfinal" types, only it will not be sent in "none" type