{"componentChunkName":"component---src-templates-article-template-tsx","path":"/pe/en/apm/overview","result":{"data":{"article":{"title":"How do APM payments work?","subtitle":"We explain how alternative payment methods (APM) and the multiprocessor flow work in Kushki","fullWidth":null,"hero":null,"heroTextColor":null,"heroImg":null,"content":[{"body":{"childMdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar Aside = makeShortcode(\"Aside\");\nvar NextStep = makeShortcode(\"NextStep\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Aside, {\n    type: \"danger\",\n    title: \"\\uD83D\\uDEA7 Early Release \\u2014 Beta\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"This product is in early access\"), \". Parameters, response structures and behaviors may change without prior notice. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Do not\"), \" use this version in production without first coordinating with the Kushki integrations team.\")), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"We explain how alternative payment methods (APM) and the multiprocessor flow work in Kushki\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Alternative payment methods (APM)\"), \" let your customers pay without a card, using digital wallets. In Peru you can now accept payments with \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Yape\"), \": the customer approves the payment directly in their Yape app, by direct redirection to the app (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"DEEPLINK\"), \", from mobile) or through a push notification to the payer\\u2019s mobile number (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"PUSH\"), \", from web or desktop).\"), mdx(\"p\", null, \"APM work with a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"multiprocessor flow\"), \": a single integration with the Kushki API, in which \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"the processor you use in each transaction defines how you integrate and how your customer pays\"), \". Your merchant can have one or several processors enabled, and as more are enabled your integration does not change: you just query which processors you have and build the token according to each one.\"), mdx(Aside, {\n    type: \"info\",\n    title: \"Looking for bank transfer payments?\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"Bank transfer is the traditional integration and does not change. See \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.kushki.com/pe/transfer-payments/accept-a-payment\"\n  }, \"Receive bank transfers\"), \".\")), mdx(Aside, {\n    type: \"warning\",\n    title: \"Available only for 100% API integrations\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"The multiprocessor flow applies to direct API integrations: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"the token is requested from your backend\"), \". Kajita and Kushki.js do not support the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"processor\"), \" object yet.\")), mdx(\"h2\", {\n    \"id\": \"the-model-check-your-processors\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#the-model-check-your-processors\",\n    \"aria-label\": \"the model check your processors permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"The model: check your processors\"), mdx(\"p\", null, \"Every APM integration starts with the same question: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"which processors does my merchant have?\"), \" The answer lives in one place:\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"GET /transfer/v1/config\"), \" (with your public credential) \\u2192 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"processors[]\")), mdx(\"p\", null, \"Each entry in the response tells you how to continue:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"The chosen entry\\u2026\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Is a processor of\\u2026\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"The token is built\\u2026\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"With\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"supportedFlows\"), \" (Yape)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"APM payment flows\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"With\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor: { name, flowType }\"), \", copied \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"exactly\"), \" from the response; only \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"amount\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"currency\"), \" remain required (plus \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"phoneNumber\"), \" in \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"PUSH\"), \").\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Without\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"supportedFlows\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Bank transfer (traditional)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Without\"), \" the \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\"), \" object. Follow the \", mdx(\"a\", {\n    parentName: \"td\",\n    \"href\": \"https://docs.kushki.com/pe/transfer-payments/accept-a-payment\"\n  }, \"bank transfer guide\"), \".\")))), mdx(\"p\", null, \"If your merchant has several processors, use each entry\\u2019s \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"supportedFlows\"), \" to know how to build the token with each one. If it has only one you can skip the query, but integrate it from the start: it is the product rule as more processors and flows are enabled.\"), mdx(\"h2\", {\n    \"id\": \"the-flow-end-to-end\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#the-flow-end-to-end\",\n    \"aria-label\": \"the flow end to end permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"The flow, end to end\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"The merchant calls \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"GET /transfer/v1/config\"), \" and receives \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"processors[]\"), \", with the \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"supportedFlows\"), \" of each entry.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"It chooses the processor and the flow (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"DEEPLINK\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"PUSH\"), \").\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"It requests the token with \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"POST /transfer/v1/tokens\"), \", sending \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"processor: { name, flowType }\"), \" (and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"phoneNumber\"), \" in \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"PUSH\"), \"), and receives \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"201 { token }\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"It initializes the transaction with \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"POST /transfer/v1/init { token, amount }\"), \". With \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"DEEPLINK\"), \" it receives \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"deepLink\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ticketNumber\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"consentId\"), \": redirect the payer to the Yape app. With \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"PUSH\"), \" it receives \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ticketNumber\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"consentId\"), \": the payer gets the push notification in their Yape app.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"The payer approves the payment in the Yape app.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Kushki reports the final status by webhook or through Get Status.\")), mdx(\"h2\", {\n    \"id\": \"available-processors\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#available-processors\",\n    \"aria-label\": \"available processors permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Available processors\"), mdx(\"h3\", {\n    \"id\": \"yape--approval-in-the-app\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#yape--approval-in-the-app\",\n    \"aria-label\": \"yape  approval in the app permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Yape \\u2014 approval in the app\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"flowType\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Channel\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"How it works\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"DEEPLINK\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Mobile\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"You redirect the payer to the \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"deepLink\"), \" returned by the init; the Yape app opens on their phone and they approve the payment.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"PUSH\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Web / Desktop\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"The payer enters their mobile number at your checkout (\", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"phoneNumber\"), \", required in the token) and Yape sends a push notification to their app so they approve the purchase from \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Aprobar compras\"), \" (\\u201CApprove purchases\\u201D).\")))), mdx(\"p\", null, \"You receive the final status by webhook or by querying it with Get Status. The full guide is in \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.kushki.com/pe/apm/yape-payments\"\n  }, \"Accept Yape payments\"), \".\"), mdx(\"h2\", {\n    \"id\": \"build-the-token-according-to-the-processor\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#build-the-token-according-to-the-processor\",\n    \"aria-label\": \"build the token according to the processor permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Build the token according to the processor\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Case\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"processor\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Required\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Notes\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Yape \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"DEEPLINK\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"{ \\\"name\\\": \\\"Yape Processor\\\", \\\"flowType\\\": \\\"DEEPLINK\\\" }\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"amount\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"currency\"), \" (\", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"PEN\"), \"), \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"\\u2014\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Yape \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"PUSH\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"{ \\\"name\\\": \\\"Yape Processor\\\", \\\"flowType\\\": \\\"PUSH\\\" }\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"amount\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"currency\"), \" (\", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"PEN\"), \"), \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"phoneNumber\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"phoneNumber\"), \" is the mobile number associated with the payer\\u2019s Yape account.\")))), mdx(\"p\", null, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"processor\"), \" object does not allow additional properties (it returns \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"400\"), \") and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"flowType\"), \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"has no default value\"), \": its values are copied from the processor query, without aliases.\"), mdx(\"h2\", {\n    \"id\": \"token--processor-compatibility\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#token--processor-compatibility\",\n    \"aria-label\": \"token  processor compatibility permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Token \\u2194 processor compatibility\"), mdx(\"p\", null, \"The token is \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"bound to the processor\"), \" it was generated with; \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"POST /transfer/v1/init\"), \" validates it:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Generated token\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Merchant\\u2019s processor\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Result\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"With Yape \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Yape\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Continues (the response includes \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"ticketNumber\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"consentId\"), \"; with \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"DEEPLINK\"), \", also \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"deepLink\"), \").\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"With \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Another processor\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"422 E046\"), \".\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Without \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"processor\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Yape\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"422 E046\"), \".\")))), mdx(\"p\", null, \"If you receive \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"E046\"), \", check the processor query and regenerate the token with the correct processor. The errors for each case are in the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Errors\"), \" section of the guide \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.kushki.com/pe/apm/yape-payments\"\n  }, \"Accept Yape payments\"), \".\"), mdx(\"h2\", {\n    \"id\": \"integrate-each-processor\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#integrate-each-processor\",\n    \"aria-label\": \"integrate each processor permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Integrate each processor\"), mdx(NextStep, {\n    title: \"Accept Yape payments\",\n    link: \"/apm/yape-payments\",\n    side: \"left\",\n    type: \"recommended\",\n    mdxType: \"NextStep\"\n  }, mdx(\"p\", null, \"Integration with approval in the Yape app\")));\n}\n;\nMDXContent.isMDXComponent = true;","excerpt":"This product is in early access . Parameters, response structures and behaviors may change without prior notice.  Do not  use this version…","timeToRead":2,"tableOfContents":{"items":[{"url":"#the-model-check-your-processors","title":"The model: check your processors"},{"url":"#the-flow-end-to-end","title":"The flow, end to end"},{"url":"#available-processors","title":"Available processors","items":[{"url":"#yape--approval-in-the-app","title":"Yape — approval in the app"}]},{"url":"#build-the-token-according-to-the-processor","title":"Build the token according to the processor"},{"url":"#token--processor-compatibility","title":"Token ↔ processor compatibility"},{"url":"#integrate-each-processor","title":"Integrate each processor"}]}}},"updatedAt":"October 16, 2026","tabTitle":null}]}},"pageContext":{"country":"pe","id":"e51f2791-d4cc-547e-b939-a9471700605a","locale":"en","localeDateFormat":"MMMM DD, YYYY"}},"staticQueryHashes":["1632712422","2408418099","63159454"]}