{"id":3452,"date":"2021-03-09T21:07:43","date_gmt":"2021-03-09T21:07:43","guid":{"rendered":"https:\/\/documents.openpay.mx\/?p=3452"},"modified":"2022-02-02T22:26:07","modified_gmt":"2022-02-02T22:26:07","slug":"codi","status":"publish","type":"post","link":"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/codi.html","title":{"rendered":"CoDi\u00ae. payments"},"content":{"rendered":"
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\t\t

The objective of this guide is to explain step by step how to generate payment referrals with CoDi\u00ae.<\/p>

CoDi\u00ae is a platform developed by Banco de M\u00e9xico to facilitate payment and collection transactions through electronic transfers in a fast, safe and efficient way, through smartphones.<\/p>

CoDi\u00ae uses QR codes, which are free-to-use two-dimensional codes, and push notifications, which are notifications that arrive directly to the recipient's phone, that are easy to implement and read by any smartphone.<\/p>

For more information see the CoDi\u00ae official site.<\/a><\/p>

Dynamic QR charges<\/h1>

Below is the flow to generate charges with dynamic QR codes. Dynamic QR codes allow your customer to record the amount to pay. Your bank account details are fixed and cannot be modified by your client.<\/p>

\u00a0<\/p>

<\/center>

\u00a0<\/p>

Steps:<\/p>

  1. The merchant requests the generation of a dynamic QR code to make a payment.<\/li>
  2. From the Openpay api the QR code is returned.<\/li>
  3. The store exposes the QR code by the means of its choice (printed, screen at checkout, etc.) so that the buyer can make the payment<\/li>
  4. The buyer scans the code from his bank's app and records the amount to pay.<\/li>
  5. The customer confirms the payment from his bank's banking application.<\/li>
  6. The customer's bank sends the payment notification to Banxico.<\/li>
  7. Banxico notifies Openpay payment.<\/li>
  8. Openpay confirms the payment to the merchant.<\/li><\/ol>

    Generate dynamic QR code for Merchant (Step 1 and 2)<\/h2>

    To generate a dynamic QR code it is necessary to create a charge indicating in the method field method the type \u200bcodi and the option codi_options with the attribute mode the value QR_CODE as follows:<\/p>

    <?php<\/span>\n$openpay<\/span> =<\/span> Openpay<\/span>::<\/span>getInstance<\/span>(<\/span>'mzdtln0bmtms6o3kck8f'<\/span>,<\/span>\n  'sk_e568c42a6c384b7ab02cd47d2e407cab'<\/span>);<\/span>\n\n$chargeData<\/span> =<\/span> array<\/span><\/strong>(<\/span>\n    'description'<\/span> =><\/span> 'Cargo con c\u00f3digo QR din\u00e1mico'<\/span>,<\/span>\n    'external_id'<\/span> =><\/span> 'codi-00051'<\/span>,<\/span>\n    'due_date'<\/span> =><\/span> '2020-07-20T13:45:00'<\/span>\n    );<\/span>\n\n$charge<\/span> =<\/span> $openpay<\/span>-><\/span>charges<\/span>-><\/span>create<\/span>(<\/span>$chargeData<\/span>);<\/span>\n?><\/span><\/code><\/pre><\/figure><\/div>

    At the time the charge is created, a transaction object is returned.<\/p>

    Response:<\/strong><\/p>

    \u00a0<\/p>

    {<\/span>\n    \"id\"<\/span>:<\/span> 62<\/span>,<\/span>\n    \"amount\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"due_date\"<\/span>:<\/span> \"2020-10-20T17:50:00-05:00\"<\/span>,<\/span>\n    \"description\"<\/span>:<\/span> \"Cargo con c\u00f3digo QR din\u00e1mico\"<\/span>,<\/span>\n    \"external_id\"<\/span>:<\/span> \"12121212\"<\/span>,<\/span>\n    \"metadata\"<\/span>:<\/span> \"{}\"<\/span>,<\/span>\n    \"barcode\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"barcode_url\"<\/span>:<\/span> \"https:\/\/dev-api.openpay.mx\/codi\/open_codes\/62\/qr_code\"<\/span>,<\/span>\n    \"barcode_base64\"<\/span>:<\/span> \"iVBORw0KGgoAAAANSUhEUgAAAdEAAAHRCAAAAAAQqNxHAAALk0lEQVR42u3cQY4cOw4EUN\/\/0jP7wbc6gpTS\/oOnVdvVlZWpJwNRJOFf\/7H+v9YvW0DUImoRtYhaRIlaRC2iFlGLKFGLqEXUImoRJWoRtYha34j++nn9zy+f3\/tPlw8+9\/zL54v+9jbOd39+4Z8u9dvPPb83eN5KgShRokSJEiX6VjTdu3S3g0c686cXCO7+tzTBlg\/P8vCFXoEoUaJEiRIl+kw0SGPpvgdJM31vADfYifCeh6e1OqiVAlGiRIkSJUr0LxINClhpce58Vqo8vQapNn9YVazOFFGiRIkSJUr0XyNaBdT+AudiXwBSvTpsD9\/udhIlSpQoUaJE\/zbR3rtvWwZcaShMkYK39SNv6yLjX9DxJkqUKFGiRIkWe9x3Sv20+6lKx0SJEiXqJ6J+eiHaT2EFMTLIppv62LqIF2TJ4K6GveS0\/ZqgECVKlChRokTvigZ5q6+eBd59QbFKgUGsH9YmN7+SnpD02YgSJUqUKFGil0X7rFu1CoN3DJuV\/XFKj3EgcM6rw38M6eWJEiVKlChRom9Fh1Puw80PBqvS0xDsxLfBeHOqqzokUaJEiRIlSvSZaN\/Vq2bC+07k+Y\/V3VcfHuhVNE\/umShRokSJEiX6gWjV3+tjaT9nFdzaudTW72JwiDYpOrjdipUoUaJEiRIlelk0uGrVcAzuvIp4\/VBWdeLSi1at0c3R6U4IUaJEiRIlSvSuaGobjJz36TjNfkGBcqMX5OmgJhq0kdOPfNMfJUqUKFGiRIlmWTct06VIVfRNE19qm3YxU7Oq77muYVYXJUqUKFGiRIleFq2KWucMVgW2YEYrnfSqQnB6aqq8nzaKq4Ji8ipRokSJEiVK9K7opnZVtTf7euAwZAad1+ER66\/yroNMlChRokSJEn0mWhWrhjWutEbYq1Rd234N03E63pb+MlGiRIkSJUr0U9F1ba1Phl0z8ErFrwrVfdVuePDT7wBEiRIlSpQo0beifW9wWHlLX61ao0GJ7\/Yf0yNW9ZzTM0qUKFGiRIkSfSuapsCqSdoPZVXnrO9nBs\/RJ82+A9ofon3HmyhRokSJEiU6n6mv2ox35sCqVuGwblhdr5fqM3HwvMkpJEqUKFGiRIneFa2GxfsWal\/oqtqHwbZtGrtBEg5O+sXkT5QoUaJEiRL9QLRPY5sgW\/VHh9EyPSFBrW7zWOmXg\/Mh2td1iRIlSpQoUaKjrJu29oJn3ZT9hkW3tJa4HgGrKnlpf7TnJ0qUKFGiRIm+FR0G3iC+phNmaaCMe4hhWXKYz\/uq4rl2WrESJUqUKFGiRF+I9tGtmnIKnj89XT3DZgP7EzccH0vvjyhRokSJEiX6VjRNuGngTW+m\/7S0nNePsm3uoJpTWz8+UaJEiRIlSvStaF+X2zQcz\/u+ydNpnS+Y7zq3LdOtq05\/dSiJEiVKlChRos9Eg+h7\/vRqA9P3Bj9VlctqVGx4B9VRTO9g0B8lSpQoUaJEid4QrW6wSpXp4Nc666YFu+HzBvm8qkNWvWSiRIkSJUqU6AeiaROy6opWma5qFcadw7pe2Y+A9U\/ZP+q0rkuUKFGiRIkSXfZH+\/GnYYOwn+VaN3b7vFohbfqj5\/C9mhwjSpQoUaJEiS5n6oNuXd\/P7BkCpIB6eJz66wXhO83JwbYTJUqUKFGiRJ+JphW1qkgWZLo+KKaZ+Fzxq1qjm4Sbhu\/+KwZRokSJEiVK9CvR4SBUWmqrdrEq0wVZctjZDBLucMxsGMiJEiVKlChRos9Eg33aRLJ+6iyIlmn6TK+SNjWH3kHxtTrkRIkSJUqUKNFPRYPPTGmCj9yA9EcxvUAwip\/+3jlP9+1hokSJEiVKlOgz0eG8U7o71YR8OtXV73ZXW\/v5nFU10dVs2HByjChRokSJEiW6FK2ai0Ff8U7mnHYOrwyhVU\/U90Krk0mUKFGiRIkS\/Uo0zVvpOHjKP9zj9LBVxb60Y1lRB97nf0NEiRIlSpQo0U9F+wJgtWNV57V6zKA5u2lv9kXGtPBYzZWtJseIEiVKlChRoqNuWlWTqpqVfYUurU0OJ7j6MB8csTTW91XK6eQYUaJEiRIlSnT+f2BXLbs0GfZ91PTyaZe1T59Vda\/qwfZbksRhokSJEiVKlOgr0aq1VwXKDXWQnfsRsOpgVam8qgdWk21EiRIlSpQo0Q9Ee8Lq0\/t+4eaG+qmu6iRVxdIqrgdnlChRokSJEiX6h0TPDb2+lRnUx867GETpoHWbNmfT9L4pDwYjaok3UaJEiRIlSvSu6LruFfRRqw3chOA+NwZ\/13dtg2fbvECUKFGiRIkSfSZaVcX62Jd+ZJ+2h0lzGK+rSmNa9ksrq6tvL0SJEiVKlCjRtmZU+VT1wOHepU3XahgsyOd9EbRvfla\/MuiPEiVKlChRokSviaYxNw2ewQWqrmg6rfUuuPcZdqP3w3uJEiVKlChRog9Eg+gWDFZVA2LVCj7yfDiqHmcvlXZeq0rovuNNlChRokSJEl2K9ikwiJsV17BmVjVn07+rZsP6cmP\/uUSJEiVKlCjRt6LnW6iqcdUjpc9aVfyq3J2+bVhkTD98uM9EiRIlSpQo0Reiw6wbRLf+j1UOrZq9qWiaSPtYWvVW42cjSpQoUaJEid4VDcJoVcqqMmffpxx2Mc8petOhTS2qvmw8pkeUKFGiRIkSvSuaBqwKrsqIVXEuPQ1VbzVtpqbnogKuCIkSJUqUKFGib0WD0JoOkgX3W+17OgeWxshNEh7W6tIjkTZiiRIlSpQoUaJvRavYl1byNvGw3+i0ola1Hvvj\/qbOR5QoUaJEiRL9UrTvIVb8VantLJDuTnVuf4Wrf8CL43dEiRIlSpQo0a9E+5yXvho8cBUAq6Jg9WoVoDeHI\/hycKnjTZQoUaJEiRKdi94pxKX1rGCmquq8pkNtwau9VJprh+n4hxeIEiVKlChRondFA5U0tFZty7RCl8br4DQEcbg688FnDJDu1HWJEiVKlChRotf+p8fq+ucAmFbehsdkWLkcFjfPDeWKMPgmQZQoUaJEiRL9XrRvTKY3k7Ye+ypgGjKDSFuVNIcfXul1FVOiRIkSJUqU6APRoC04fNZhA7NvsA7HwvrUO9yX9AJd7iZKlChRokSJ3hVdNwg3iW8znZZu9HDk7clMfTrUFmASJUqUKFGiRF+I9lNiaTirQmbQdUz3OE3Mm8cf1giryuq+CkiUKFGiRIkSHWXdH97380YPK35BTg5GsYIzsBYNHrV\/jmE5lChRokSJEiX6h0TTjUm5+lZm+uhBvhxG2iqu9xdI\/\/kQJUqUKFGiRL8SDfazalYGpaxqAOtOYW9Yuku7omlAvRmqiRIlSpQoUaJ3RfvnX9ezhuNj1WBVMJRVxet1vbKaJgtao0SJEiVKlCjRr0STa9VdvaqMWE2YBduW6gWHKN2mYVO4ey9RokSJEiVK9IFo3\/NL4YLqWZ+Tq2blpnVbdYaHw3TVlwiiRIkSJUqU6FvRinCzY8NsWuXuoEJX9UeHZ3Rz992rRIkSJUqUKNG7olWJqnrqqiQXAFfJcPhBQe2vSrjVvvSdUqJEiRIlSpToZdF0pY8Z1NbSAF11Ioe91erW0ktV02T98xIlSpQoUaJEn4kOw16f5PqcF5TpqnRcFTfTR12XOdOnJEqUKFGiRIl+JZo2TtPu3\/nhhhbDK6dbnj5CtS\/D2ilRokSJEiVK9I+LDpuLvfydJNwfxXUiTcuhaXbukzBRokSJEiVK9G8THUbktBBXVSnToF1F+PSLQNpGTrN4sJ1EiRIlSpQo0b9ItB\/FSlNv\/AyziatUOUiaVQt10wb9JOsSJUqUKFGiREf90SDTbZJm+qzVPFtQLQyesm+wVse4KmkSJUqUKFGiRD8QHXbr0vdWqXKzCVUbNEia\/djaJncPUjRRokSJEiVK9K6o9S9eRIlaRC2iFlGLKFGLqEXUImoRJWoRtYhaRC2iRC2iFlHr\/vovnGhyg64VOfUAAAAASUVORK5CYII=\"<\/span>\n}<\/span><\/code><\/pre><\/figure>

    \u00a0<\/p>

    With this QR code, your customer can make the payment by scanning it from their bank's mobile app.<\/p>

    Generate dynamic QR code for Customer (Step 1 and 2)<\/h2>

    To generate a dynamic QR code it is necessary to create a charge indicating in the method field method the type \u200bcodi and the option codi_options with the attribute mode the value QR_CODE as follows:<\/p>

    <?php<\/span>\n$openpay<\/span> =<\/span> Openpay<\/span>::<\/span>getInstance<\/span>(<\/span>'mzdtln0bmtms6o3kck8f'<\/span>,<\/span>\n  'sk_e568c42a6c384b7ab02cd47d2e407cab'<\/span>);<\/span>\n\n$chargeData<\/span> =<\/span> array<\/span><\/strong>(<\/span>\n    'description'<\/span> =><\/span> 'Cargo con c\u00f3digo QR din\u00e1mico'<\/span>,<\/span>\n    'external_id'<\/span> =><\/span> 'codi-00051'<\/span>,<\/span>\n    'due_date'<\/span> =><\/span> '2020-07-20T13:45:00'<\/span>\n    );<\/span>\n\n$charge<\/span> =<\/span> $openpay<\/span>-><\/span>charges<\/span>-><\/span>create<\/span>(<\/span>$chargeData<\/span>);<\/span>\n?><\/span><\/code><\/pre><\/figure><\/div>

    At the time the charge is created, a transaction object is returned.<\/p>

    Response:<\/strong><\/p>

    \u00a0<\/p>

    {<\/span>\n    \"id\"<\/span>:<\/span> 62<\/span>,<\/span>\n    \"amount\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"due_date\"<\/span>:<\/span> \"2020-10-20T17:50:00-05:00\"<\/span>,<\/span>\n    \"description\"<\/span>:<\/span> \"Cargo con c\u00f3digo QR din\u00e1mico\"<\/span>,<\/span>\n    \"external_id\"<\/span>:<\/span> \"12121212\"<\/span>,<\/span>\n    \"metadata\"<\/span>:<\/span> \"{}\"<\/span>,<\/span>\n    \"barcode\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"barcode_url\"<\/span>:<\/span> \"https:\/\/dev-api.openpay.mx\/codi\/open_codes\/62\/qr_code\"<\/span>,<\/span>\n    \"barcode_base64\"<\/span>:<\/span> \"iVBORw0KGgoAAAANSUhEUgAAAdEAAAHRCAAAAAAQqNxHAAALk0lEQVR42u3cQY4cOw4EUN\/\/0jP7wbc6gpTS\/oOnVdvVlZWpJwNRJOFf\/7H+v9YvW0DUImoRtYhaRIlaRC2iFlGLKFGLqEXUImoRJWoRtYha34j++nn9zy+f3\/tPlw8+9\/zL54v+9jbOd39+4Z8u9dvPPb83eN5KgShRokSJEiX6VjTdu3S3g0c686cXCO7+tzTBlg\/P8vCFXoEoUaJEiRIl+kw0SGPpvgdJM31vADfYifCeh6e1OqiVAlGiRIkSJUr0LxINClhpce58Vqo8vQapNn9YVazOFFGiRIkSJUr0XyNaBdT+AudiXwBSvTpsD9\/udhIlSpQoUaJE\/zbR3rtvWwZcaShMkYK39SNv6yLjX9DxJkqUKFGiRIkWe9x3Sv20+6lKx0SJEiXqJ6J+eiHaT2EFMTLIppv62LqIF2TJ4K6GveS0\/ZqgECVKlChRokTvigZ5q6+eBd59QbFKgUGsH9YmN7+SnpD02YgSJUqUKFGil0X7rFu1CoN3DJuV\/XFKj3EgcM6rw38M6eWJEiVKlChRom9Fh1Puw80PBqvS0xDsxLfBeHOqqzokUaJEiRIlSvSZaN\/Vq2bC+07k+Y\/V3VcfHuhVNE\/umShRokSJEiX6gWjV3+tjaT9nFdzaudTW72JwiDYpOrjdipUoUaJEiRIlelk0uGrVcAzuvIp4\/VBWdeLSi1at0c3R6U4IUaJEiRIlSvSuaGobjJz36TjNfkGBcqMX5OmgJhq0kdOPfNMfJUqUKFGiRIlmWTct06VIVfRNE19qm3YxU7Oq77muYVYXJUqUKFGiRIleFq2KWucMVgW2YEYrnfSqQnB6aqq8nzaKq4Ji8ipRokSJEiVK9K7opnZVtTf7euAwZAad1+ER66\/yroNMlChRokSJEn0mWhWrhjWutEbYq1Rd234N03E63pb+MlGiRIkSJUr0U9F1ba1Phl0z8ErFrwrVfdVuePDT7wBEiRIlSpQo0beifW9wWHlLX61ao0GJ7\/Yf0yNW9ZzTM0qUKFGiRIkSfSuapsCqSdoPZVXnrO9nBs\/RJ82+A9ofon3HmyhRokSJEiU6n6mv2ox35sCqVuGwblhdr5fqM3HwvMkpJEqUKFGiRIneFa2GxfsWal\/oqtqHwbZtGrtBEg5O+sXkT5QoUaJEiRL9QLRPY5sgW\/VHh9EyPSFBrW7zWOmXg\/Mh2td1iRIlSpQoUaKjrJu29oJn3ZT9hkW3tJa4HgGrKnlpf7TnJ0qUKFGiRIm+FR0G3iC+phNmaaCMe4hhWXKYz\/uq4rl2WrESJUqUKFGiRF+I9tGtmnIKnj89XT3DZgP7EzccH0vvjyhRokSJEiX6VjRNuGngTW+m\/7S0nNePsm3uoJpTWz8+UaJEiRIlSvStaF+X2zQcz\/u+ydNpnS+Y7zq3LdOtq05\/dSiJEiVKlChRos9Eg+h7\/vRqA9P3Bj9VlctqVGx4B9VRTO9g0B8lSpQoUaJEid4QrW6wSpXp4Nc666YFu+HzBvm8qkNWvWSiRIkSJUqU6AeiaROy6opWma5qFcadw7pe2Y+A9U\/ZP+q0rkuUKFGiRIkSXfZH+\/GnYYOwn+VaN3b7vFohbfqj5\/C9mhwjSpQoUaJEiS5n6oNuXd\/P7BkCpIB6eJz66wXhO83JwbYTJUqUKFGiRJ+JphW1qkgWZLo+KKaZ+Fzxq1qjm4Sbhu\/+KwZRokSJEiVK9CvR4SBUWmqrdrEq0wVZctjZDBLucMxsGMiJEiVKlChRos9Eg33aRLJ+6iyIlmn6TK+SNjWH3kHxtTrkRIkSJUqUKNFPRYPPTGmCj9yA9EcxvUAwip\/+3jlP9+1hokSJEiVKlOgz0eG8U7o71YR8OtXV73ZXW\/v5nFU10dVs2HByjChRokSJEiW6FK2ai0Ff8U7mnHYOrwyhVU\/U90Krk0mUKFGiRIkS\/Uo0zVvpOHjKP9zj9LBVxb60Y1lRB97nf0NEiRIlSpQo0U9F+wJgtWNV57V6zKA5u2lv9kXGtPBYzZWtJseIEiVKlChRoqNuWlWTqpqVfYUurU0OJ7j6MB8csTTW91XK6eQYUaJEiRIlSnT+f2BXLbs0GfZ91PTyaZe1T59Vda\/qwfZbksRhokSJEiVKlOgr0aq1VwXKDXWQnfsRsOpgVam8qgdWk21EiRIlSpQo0Q9Ee8Lq0\/t+4eaG+qmu6iRVxdIqrgdnlChRokSJEiX6h0TPDb2+lRnUx867GETpoHWbNmfT9L4pDwYjaok3UaJEiRIlSvSu6LruFfRRqw3chOA+NwZ\/13dtg2fbvECUKFGiRIkSfSZaVcX62Jd+ZJ+2h0lzGK+rSmNa9ksrq6tvL0SJEiVKlCjRtmZU+VT1wOHepU3XahgsyOd9EbRvfla\/MuiPEiVKlChRokSviaYxNw2ewQWqrmg6rfUuuPcZdqP3w3uJEiVKlChRog9Eg+gWDFZVA2LVCj7yfDiqHmcvlXZeq0rovuNNlChRokSJEl2K9ikwiJsV17BmVjVn07+rZsP6cmP\/uUSJEiVKlCjRt6LnW6iqcdUjpc9aVfyq3J2+bVhkTD98uM9EiRIlSpQo0Reiw6wbRLf+j1UOrZq9qWiaSPtYWvVW42cjSpQoUaJEid4VDcJoVcqqMmffpxx2Mc8petOhTS2qvmw8pkeUKFGiRIkSvSuaBqwKrsqIVXEuPQ1VbzVtpqbnogKuCIkSJUqUKFGib0WD0JoOkgX3W+17OgeWxshNEh7W6tIjkTZiiRIlSpQoUaJvRavYl1byNvGw3+i0ola1Hvvj\/qbOR5QoUaJEiRL9UrTvIVb8VantLJDuTnVuf4Wrf8CL43dEiRIlSpQo0a9E+5yXvho8cBUAq6Jg9WoVoDeHI\/hycKnjTZQoUaJEiRKdi94pxKX1rGCmquq8pkNtwau9VJprh+n4hxeIEiVKlChRondFA5U0tFZty7RCl8br4DQEcbg688FnDJDu1HWJEiVKlChRotf+p8fq+ucAmFbehsdkWLkcFjfPDeWKMPgmQZQoUaJEiRL9XrRvTKY3k7Ye+ypgGjKDSFuVNIcfXul1FVOiRIkSJUqU6APRoC04fNZhA7NvsA7HwvrUO9yX9AJd7iZKlChRokSJ3hVdNwg3iW8znZZu9HDk7clMfTrUFmASJUqUKFGiRF+I9lNiaTirQmbQdUz3OE3Mm8cf1giryuq+CkiUKFGiRIkSHWXdH97380YPK35BTg5GsYIzsBYNHrV\/jmE5lChRokSJEiX6h0TTjUm5+lZm+uhBvhxG2iqu9xdI\/\/kQJUqUKFGiRL8SDfazalYGpaxqAOtOYW9Yuku7omlAvRmqiRIlSpQoUaJ3RfvnX9ezhuNj1WBVMJRVxet1vbKaJgtao0SJEiVKlCjRr0STa9VdvaqMWE2YBduW6gWHKN2mYVO4ey9RokSJEiVK9IFo3\/NL4YLqWZ+Tq2blpnVbdYaHw3TVlwiiRIkSJUqU6FvRinCzY8NsWuXuoEJX9UeHZ3Rz992rRIkSJUqUKNG7olWJqnrqqiQXAFfJcPhBQe2vSrjVvvSdUqJEiRIlSpToZdF0pY8Z1NbSAF11Ioe91erW0ktV02T98xIlSpQoUaJEn4kOw16f5PqcF5TpqnRcFTfTR12XOdOnJEqUKFGiRIl+JZo2TtPu3\/nhhhbDK6dbnj5CtS\/D2ilRokSJEiVK9I+LDpuLvfydJNwfxXUiTcuhaXbukzBRokSJEiVK9G8THUbktBBXVSnToF1F+PSLQNpGTrN4sJ1EiRIlSpQo0b9ItB\/FSlNv\/AyziatUOUiaVQt10wb9JOsSJUqUKFGiREf90SDTbZJm+qzVPFtQLQyesm+wVse4KmkSJUqUKFGiRD8QHXbr0vdWqXKzCVUbNEia\/djaJncPUjRRokSJEiVK9K6o9S9eRIlaRC2iFlGLKFGLqEXUImoRJWoRtYhaRC2iRC2iFlHr\/vovnGhyg64VOfUAAAAASUVORK5CYII=\"<\/span>\n}<\/span><\/span><\/code><\/pre><\/figure>

    \u00a0<\/p>

    With this QR code, your customer can make the payment by scanning it from their bank's mobile app.<\/p>

    Charges with static QR<\/h1>

    To generate a dynamic QR code it is necessary to create a charge indicating in the method field the type codi and the option codi_options with the attribute mode the value QR_CODE as follows:<\/p>

    \u00a0<\/p>

    <\/center>

    \u00a0<\/p>

    Steps:<\/p>

    1. The store requests the generation of a static QR code to make a payment.<\/li>
    2. From the Openpay api the QR code is returned.<\/li>
    3. The store exposes the QR code by the means of its choice (printed, screen at checkout, etc.) so that the buyer can make the payment<\/li>
    4. The buyer scans the code from their bank's app.<\/li>
    5. The customer confirms the payment from his bank's banking application.<\/li>
    6. The customer's bank sends the payment notification to Banxico.<\/li>
    7. Banxico notifies Openpay payment.<\/li>
    8. Openpay confirms the payment to the merchant.<\/li><\/ol>

      Generate static QR code (Step 1 and 2)<\/h2>

      To generate a dynamic QR code it is necessary to create a charge indicating in the field method<\/code> the typecodi<\/code> and the option codi_options<\/code> with the attribute mode<\/code> the value QR_CODE<\/code> as follows:<\/p>

      <?php<\/span>\n$openpay<\/span> =<\/span> Openpay<\/span>::<\/span>getInstance<\/span>(<\/span>'mzdtln0bmtms6o3kck8f'<\/span>,<\/span>\n  'sk_e568c42a6c384b7ab02cd47d2e407cab'<\/span>);<\/span>\n\n$chargeData<\/span> =<\/span> array<\/span><\/strong>(<\/span>\n    'method'<\/span> =><\/span> 'codi'<\/span>,<\/span>\n    'amount'<\/span> =><\/span> 200.00<\/span>,<\/span>\n    'description'<\/span> =><\/span> 'Cargo con c\u00f3digo QR est\u00e1tico'<\/span>,<\/span>\n    'order_id'<\/span> =><\/span> 'codi-00051'<\/span>,<\/span>\n    'due_date'<\/span> =><\/span> '2020-12-20T13:45:00'<\/span>,<\/span>\n    'codi_options'<\/span> =><\/span> {<\/span>\n          'mode'<\/span>:<\/span> 'qr_code'<\/span>\n      },<\/span>\n    'customer'<\/span> =><\/span> {<\/span>\n      'name'<\/span>:<\/span> 'Ricardo'<\/span>,<\/span>\n      'last_name'<\/span>:<\/span> 'Martinez'<\/span>,<\/span>\n      'email'<\/span>:<\/span> 'this.is.a@customer.test'<\/span>,<\/span>\n      'phone_number'<\/span>:<\/span> '4421217210'<\/span>\n    }<\/span>\n    );<\/span>\n\n$charge<\/span> =<\/span> $openpay<\/span>-><\/span>charges<\/span>-><\/span>create<\/span>(<\/span>$chargeData<\/span>);<\/span>\n?><\/span><\/code><\/pre><\/figure><\/div>

      When the position is created, a json object will be returned.<\/p>

      Response:<\/strong><\/p>

      \u00a0<\/p>

      {<\/span>\n    \"id\"<\/span>:<\/span> \"tr47lahm4etz1rqz1nbs\"<\/span>,<\/span>\n    \"authorization\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"operation_type\"<\/span>:<\/span> \"in\"<\/span>,<\/span>\n    \"transaction_type\"<\/span>:<\/span> \"charge\"<\/span>,<\/span>\n    \"status\"<\/span>:<\/span> \"charge_pending\"<\/span>,<\/span>\n    \"conciliated\"<\/span>:<\/span> false<\/span><\/strong>,<\/span>\n    \"creation_date\"<\/span>:<\/span> \"2020-07-15T16:58:16-05:00\"<\/span>,<\/span>\n    \"operation_date\"<\/span>:<\/span> \"2020-07-15T16:58:16-05:00\"<\/span>,<\/span>\n    \"description\"<\/span>:<\/span> \"Cargo con c\u00f3digo QR est\u00e1tico\"<\/span>,<\/span>\n    \"error_message\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"order_id\"<\/span>:<\/span> \"codi-929678\"<\/span>,<\/span>\n    \"due_date\"<\/span>:<\/span> \"2020-07-20T13:45:00-05:00\"<\/span>,<\/span>\n    \"amount\"<\/span>:<\/span> 200.00<\/span>,<\/span>\n    \"customer\"<\/span>:<\/span> {<\/span>\n        \"name\"<\/span>:<\/span> \"Ricardo\"<\/span>,<\/span>\n        \"last_name\"<\/span>:<\/span> \"Martinez\"<\/span>,<\/span>\n        \"email\"<\/span>:<\/span> \"this.is.a@customer.test\"<\/span>,<\/span>\n        \"phone_number\"<\/span>:<\/span> \"4421217210\"<\/span>,<\/span>\n        \"address\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n        \"creation_date\"<\/span>:<\/span> \"2020-07-15T16:58:15-05:00\"<\/span>,<\/span>\n        \"external_id\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n        \"clabe\"<\/span>:<\/span> null<\/span><\/strong>\n    },<\/span>\n    \"payment_method\"<\/span>:<\/span> {<\/span>\n        \"type\"<\/span>:<\/span> \"codi\"<\/span>,<\/span>\n        \"barcode_url\"<\/span>:<\/span> \"https:\/\/dev-api.openpay.mx\/codi-qrcode\/tr47lahm4etz1rqz1nbs\"<\/span>,<\/span>\n        \"barcode_base64\"<\/span>:<\/span> \"iVBORw0KGgoAAAANSUhEUgAAAdEAAAHRCAAAAAAQqNxHAAALsklEQVR42u3c0XLjOBJE0fn\/n9593xjLNwFSPbNx8OS2LYrEgSNSVRX913+s\/6\/1ly0gahG1iFpELaJELaIWUYuoRZSoRdQiahG1iBK1iFpEre+I\/vX7+p9f\/rvX\/t2v\/M9P\/+6rv7uXH6\/842t\/vOf6RuHZfvznjy8Lr\/jxp58ViBIlSpQoUaLviv4cpn4nrBaff\/nzxoQd+2zx+SxP73u4a+Hy9XpEiRIlSpQo0S+I1jQWHjPEuZoMwwPXgDp9b8rEe2w+VCBKlChRokSJ\/tNEb1RqvgxB9uZlz8TSUDENdUiiRIkSJUqU6L9VtD5Xrd9Nq1TFFoF6a1Oy3uWJEiVKlChRov9I0Tpi9Xl3pnU4KlbrdwEz1OX2ct70F\/HHOt5EiRIlSpQo0U97Egpsvnrzqz1yEyVKlKiviPrqYdE9lk4huJa89pmqwy2qcX3a7allPM3C\/YJClChRokSJEn1W9GYTwp7sE1J1nz4fp3rEDluj9WQezqnlOyBKlChRokSJviD6dBPyOvpOrLWBGTLxzb5MM3jTP4kSJUqUKFGi3xKtZavDobE9Wh4W+6Zf+bnheFH7q9t0qEyUKFGiRIkS\/YJord9NpbZf7iM+5uFd1XS809R6YP1IMLWHiRIlSpQoUaJ\/UrT29\/Zs+uC7HQxb\/V60vGm11o2dvB\/KukSJEiVKlCjRtQp4GM6m3mCNqjVU79n06fR+0Nk82yaiRIkSJUqU6BdE93pgbRoG6jp\/VhNpLdPdVCn30mLdya30SZQoUaJEiRJ9VvTHO5p+b\/qqlryuO5tTggzTZDe\/XA\/C4\/1RokSJEiVKlOh5FTC8Uwij9S7DVUJiDrW1cLpKtIyBdyq01vhPlChRokSJEv2C6OdqV92EPTyG7Lx3QMNOTKmyXq82ma8\/KxAlSpQoUaJEvyVaN\/qwghiuUpuLN2Pt4VH3GwqfH+rHifAKokSJEiVKlOhronsdrWa16VlrZ7NOddUTt4fRWjud0vH0l0OUKFGiRIkSfU10f\/59ruww1151DueYO8X\/qVf7+WjXiEyUKFGiRIkS\/YJo3YnKf1MKrDWzcDj2Pb5+xdRG3iuDRIkSJUqUKNE\/JFrX5\/5eKJeFn04Ha8+SdTf2OmnQq+eWKFGiRIkSJfot0doHrA296as6RFWbuHv\/9ma3a0SeHmtL20SJEiVKlCjRF0SvenRL8auWGw9j8+cNrEXG6ZhMl7qpGxIlSpQoUaJEvyA6NQP3hLY3DQ8TeE3Cde9qm3a6q7A5tQBIlChRokSJEn1XdH\/jMMY1fa\/W7+oN7XGzVh\/r4Q3fq39NRIkSJUqUKNGvit7kwZuBqWAbeo37sNqUSGu3cy9uhibu1acXokSJEiVKlOhlFbDu9udIto+ZTaueszqsFvrB4XZrgXLa8ausS5QoUaJEiRK9\/B+q6tPUMl14uOmYHG50HeiqYXnqgE5Tew\/NAhIlSpQoUaJEH6sZ1evXKmA4FzUO74NuU5HxcBytnv6bfSFKlChRokSJfkG01tZCPJz6rVPlrR6iqdEZaolT+3WvJdZnI0qUKFGiRIl+S\/S6SRpKXlP+rUW8UGA7HGDb828e91oawFcdb6JEiRIlSpTokehUesrNuyUKfv7eZPZgs7ee5Rqqa06u+0yUKFGiRIkSfVi0vnsoANbst5fQpgpimPSaSprTsFqN9XtIJ0qUKFGiRIl+VXSHm55\/KqvteXqawvocKA\/3\/SbNTmVEokSJEiVKlOi7onsvb9qxPQCG2av6sj0TT2\/0zNHZ\/0qIEiVKlChRou+KTo9+2Grd58AOHvMsd9fG6ef+aG3sTtc7zbpEiRIlSpQo0VW02obm516SC6F6Ggur4bFu9DO\/XM12VqJEiRIlSpTou6LTVHqgripTGSy85U2dbyr7TUNt00eMEpuJEiVKlChRos+KhubnFHOn3upeFavxdd+xvWt7WL6cGqyn\/VGiRIkSJUqU6KXoHuJCFbB2Ez9vRz2K+9mrCXyKzfsdnJYWiRIlSpQoUaLvi+4h+LqWOJUMa7ithb29B1s3f\/roUD9EECVKlChRokRfE70pye1VuyBfa2ZhMO269vf5M8BBP\/P3q0zJnyhRokSJEiX6sOg+exW28vDU7FW7ers3KbU+wt613T8NECVKlChRokTfFd3zb+0X1pw3heraM90Lj4d91Hove8o\/nRwjSpQoUaJEiV7+T4\/XNb0pzYYf1An0eldTrW46nqHpepjK3\/70QpQoUaJEiRJthan6JrVSdtr9mzN2PQh7x7JW\/Kam8LSdRIkSJUqUKNEviO4NvcM6X53CD+FxrxbW196cn6nB+rkemJu4RIkSJUqUKNG3RA\/7iqEWNuXamyOx31W91PXo\/MSaTw1RokSJEiVK9FnRwwvW+e8qMPlMybUOah2WFkP83\/988kcRokSJEiVKlOizooet0f2pQ1jej0S48uHm18i9F\/H2\/ihRokSJEiVK9FuiU9w8zGWHM2kPTsPfxOtgVpHCo26nkChRokSJEiX6rGiNh1OV7XDbpprZXvarHcuQp6ePBIenv9RiiRIlSpQoUaLPiu56U+Vtn9a6ri+GNuiDc2p7V\/n6eYkSJUqUKFGi74rWrFv5657Uy099yq3DuLzv1Kadmq6HGZsoUaJEiRIl+rBojYI3oXWnDrF56j8etij3O6hlv313iRIlSpQoUaJfED0sTO33W19bW4X7QNd+p59PQ02p9aGnni5RokSJEiVK9A3R\/bbqc9UUWANlZa3VvcNi5D73NvWXtwonUaJEiRIlSvRZ0T2gVsepAFjPxeEbTV3HEDf3zany9QdEiRIlSpQo0TdEp02t\/cfDeuBhy3OavdpH4+oxqT3nGrmLN1GiRIkSJUr0BdEypPT77df+3jT9dRiCD0t8+6WmZ5vauU\/OAhIlSpQoUaJEz0WnEaY9sO13Xk9Xtaix9Ob8TAl8qoQSJUqUKFGiRN8VrZhheGvqOtZSW82IU1lyuvvpeNY26FQdJUqUKFGiRIl+QfQwvu5Vsel7U\/t1qiDuiXkCOVCZQzBRokSJEiVK9FuiN7W1Gof3Lbr5ad6deKaCT4jmh2GeKFGiRIkSJfqu6OeKX770mfdNGWzvMFauWg7dLfb3ve94EyVKlChRokSP+qP7Hk+59jr2TQXFUOebou9NTt5vMvwNESVKlChRokTfEH1mBirEtPDTehpO56x+D4+vfBCo+1y7wESJEiVKlCjR10Rr8po2YWrE1vwbrhemsKbRs9MI+rv8HoeJEiVKlChRot8SPbyjqSAWLj\/phVx7c3\/hTutA3FQZ3DabKFGiRIkSJfqW6NSErLF0eoYaS8PIVsjEU6f08MjW2ulpaZEoUaJEiRIl+qzolEPrjh2WAvcCW+i8fj46N1XAmtQP97kcNqJEiRIlSpTol0Sn6tSDNcIpGU73EjqRtSlcj8Thjuc\/EKJEiRIlSpToC6JTvS3ky1rTuxnyqnXImwS+Nz+DfDhT9fMDUaJEiRIlSvRh0akaV4Pd1HV8Zg6sVugeHEILZtMpnLI4UaJEiRIlSvQN0dqODD3EWgCsjxSeMNQrD\/lDcj2Mr7UrWpquRIkSJUqUKNFnReuqt3DYiazxetqx0I4M\/DcVyf3Z6tAYUaJEiRIlSvQN0Wmue2ozXhfEpgJguPHPcXNK0YdR9fB5rzreRIkSJUqUKNFnu2l79gsBdc+c0yumJ3pwJm0\/JvXPgihRokSJEiX6VdGbDDYlzcMEuXUO51xb+6PPUD\/zEYMoUaJEiRIl+idFK1co4v34e1MhLpT4porkg63b2nl9sQpIlChRokSJEv1HiP4y7xQdb0Lh3iSd3jzo7Xs1zakRJUqUKFGiRN8VraWs+u6fY2loGk4ZNrxlQK83WS0Opb7S8SZKlChRokSJ\/lqxCt3EPZFO97sfogfLbzeZfS8Uhkz8SzomSpQoUaJEiT4rav2LF1GiFlGLqEXUIkrUImoRtYhaRIlaRC2iFlGLKFGLqEXUen79F\/Lsh0S2EJI2AAAAAElFTkSuQmCC\"<\/span>,<\/span>\n        \"mode\"<\/span>:<\/span> \"qr_code\"<\/span>\n    },<\/span>\n    \"currency\"<\/span>:<\/span> \"MXN\"<\/span>,<\/span>\n    \"method\"<\/span>:<\/span> \"codi\"<\/span>\n}<\/span><\/code><\/pre><\/figure>

      \u00a0<\/p>

      With this QR code, your customer can make the payment by scanning it from their bank's mobile app.<\/p>

      Payment notification<\/h1>

      Below is the flow for the generation of charges for payment notification.<\/p>

      \u00a0<\/p>

      <\/center>

      \u00a0<\/p>

      Steps:<\/p>

      1. The user requests the merchant to make the payment request.<\/li>
      2. The merchant requests Openpay to make the payment request to Banxico.<\/li>
      3. Banxico makes the payment request to the corresponding bank.<\/li>
      4. The bank to which the user's account belongs makes the payment request to the customer and requests confirmation.<\/li>
      5. The client authorizes or declines the charge requested by the bank.<\/li><\/ol>


        In this guide we will see steps number 1 and 2.<\/p>

        Payment Notification Sending (Step 1 and 2)<\/h2>

        To make a payment notification notification it is necessary to create a charge indicating in the field method<\/code> the typecodi<\/code> and the option codi_options<\/code> with the following attributes mode<\/code> the value PUSH_NOTIFICATION<\/code>, use_customer_phone<\/code> the value false<\/code>, phone_number<\/code> the customer phone number, as follows:<\/p>

        <?php<\/span>\n$openpay<\/span> =<\/span> Openpay<\/span>::<\/span>getInstance<\/span>(<\/span>'mzdtln0bmtms6o3kck8f'<\/span>,<\/span>\n  'sk_e568c42a6c384b7ab02cd47d2e407cab'<\/span>);<\/span>\n\n$chargeData<\/span> =<\/span> array<\/span><\/strong>(<\/span>\n    'method'<\/span> =><\/span> 'codi'<\/span>,<\/span>\n    'amount'<\/span> =><\/span> 200.00<\/span>,<\/span>\n    'description'<\/span> =><\/span> 'Cargo por Notificaci\u00f3n de Pago'<\/span>,<\/span>\n    'order_id<\/span>'<\/span> =><\/span> 'codi-00051'<\/span>,<\/span>\n    'codi_options'<\/span> =><\/span> ''<\/span>\n    'due_date'<\/span> =><\/span> '2020-12-20T13:45:00'<\/span>,<\/span>\n    'codi_options'<\/span> =><\/span> {<\/span>\n          'mode'<\/span>:<\/span> 'push_notification'<\/span>,<\/span>\n      'use_customer_phone'<\/span>:<\/span> false<\/span><\/strong>,<\/span>\n      'phone_number'<\/span> :<\/span> '4421217210'<\/span>\n      },<\/span>\n    'customer'<\/span> =><\/span> {<\/span>\n      'name'<\/span>:<\/span> 'Ricardo'<\/span>,<\/span>\n      'last_name'<\/span>:<\/span> 'Martinez'<\/span>,<\/span>\n      'email'<\/span>:<\/span> 'this.is.a@customer.test'<\/span>,<\/span>\n      'phone_number'<\/span>:<\/span> '4421217210'<\/span>\n    }<\/span>\n    );<\/span>\n\n$charge<\/span> =<\/span> $openpay<\/span>-><\/span>charges<\/span>-><\/span>create<\/span>(<\/span>$chargeData<\/span>);<\/span>\n?><\/span><\/code><\/pre><\/figure><\/div>

        When the position is created, a json object will be returned.<\/p>

        Response:<\/strong><\/p>

        \u00a0<\/p>

        {<\/span>\n    \"id\"<\/span>:<\/span> \"trs1clzwqweqwznutfmt\"<\/span>,<\/span>\n    \"authorization\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"operation_type\"<\/span>:<\/span> \"in\"<\/span>,<\/span>\n    \"transaction_type\"<\/span>:<\/span> \"charge\"<\/span>,<\/span>\n    \"status\"<\/span>:<\/span> \"charge_pending\"<\/span>,<\/span>\n    \"conciliated\"<\/span>:<\/span> false<\/span><\/strong>,<\/span>\n    \"creation_date\"<\/span>:<\/span> \"2020-07-15T16:58:33-05:00\"<\/span>,<\/span>\n    \"operation_date\"<\/span>:<\/span> \"2020-07-15T16:58:33-05:00\"<\/span>,<\/span>\n    \"description\"<\/span>:<\/span> \"Cargo por Notificaci\u00f3n de Pago\"<\/span>,<\/span>\n    \"error_message\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n    \"order_id\"<\/span>:<\/span> \"codi-121795\"<\/span>,<\/span>\n    \"due_date\"<\/span>:<\/span> \"2020-07-20T13:45:00-05:00\"<\/span>,<\/span>\n    \"amount\"<\/span>:<\/span> 200.00<\/span>,<\/span>\n    \"customer\"<\/span>:<\/span> {<\/span>\n        \"name\"<\/span>:<\/span> \"Ricardo\"<\/span>,<\/span>\n        \"last_name\"<\/span>:<\/span> \"Martinez\"<\/span>,<\/span>\n        \"email\"<\/span>:<\/span> \"this.is.a@customer.test\"<\/span>,<\/span>\n        \"phone_number\"<\/span>:<\/span> \"4421217210\"<\/span>,<\/span>\n        \"address\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n        \"creation_date\"<\/span>:<\/span> \"2020-07-15T16:58:33-05:00\"<\/span>,<\/span>\n        \"external_id\"<\/span>:<\/span> null<\/span><\/strong>,<\/span>\n        \"clabe\"<\/span>:<\/span> null<\/span><\/strong>\n    },<\/span>\n    \"payment_method\"<\/span>:<\/span> {<\/span>\n        \"type\"<\/span>:<\/span> \"codi\"<\/span>,<\/span>\n        \"mode\"<\/span>:<\/span> \"push_notification\"<\/span>,<\/span>\n        \"phone_number\"<\/span>:<\/span> \"4421217210\"<\/span>\n    },<\/span>\n    \"currency\"<\/span>:<\/span> \"MXN\"<\/span>,<\/span>\n    \"method\"<\/span>:<\/span> \"codi\"<\/span>\n}<\/span><\/code><\/pre><\/figure>

        \u00a0<\/p>

        With this payment notification, your customer can make the payment from their bank's mobile app.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"

        El objetivo de esta gu\u00eda es explicar paso a paso c\u00f3mo generar referencias de pago con CoDi\u00ae. CoDi\u00ae es una plataforma desarrollada por Banco de M\u00e9xico para facilitar las transacciones de pago y cobro a trav\u00e9s de transferencias electr\u00f3nicas de forma r\u00e1pida, segura y eficiente, a trav\u00e9s de tel\u00e9fonos inteligentes. CoDi\u00ae usa c\u00f3digos QR, que… Read More »CoDi\u00ae. payments<\/span><\/a><\/p>","protected":false},"author":2,"featured_media":4464,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[133],"tags":[],"class_list":["post-3452","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docs"],"yoast_head":"\nPagos con CoDi\u00ae | Openpay<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/codi.html\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pagos con CoDi\u00ae | Openpay\" \/>\n<meta property=\"og:description\" content=\"El objetivo de esta gu\u00eda es explicar paso a paso c\u00f3mo generar referencias de pago con CoDi\u00ae. CoDi\u00ae es una plataforma desarrollada por Banco de M\u00e9xico para facilitar las transacciones de pago y cobro a trav\u00e9s de transferencias electr\u00f3nicas de forma r\u00e1pida, segura y eficiente, a trav\u00e9s de tel\u00e9fonos inteligentes. CoDi\u00ae usa c\u00f3digos QR, que… Read More »Pagos con CoDi\u00ae\" \/>\n<meta property=\"og:url\" content=\"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/codi.html\/\" \/>\n<meta property=\"og:site_name\" content=\"Openpay\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-09T21:07:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-02T22:26:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1563\" \/>\n\t<meta property=\"og:image:height\" content=\"669\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"user\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"user\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#article\",\"isPartOf\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html\"},\"author\":{\"name\":\"user\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/person\/4c704d548de0c4eed7ac90530bf655a7\"},\"headline\":\"Pagos con CoDi\u00ae\",\"datePublished\":\"2021-03-09T21:07:43+00:00\",\"dateModified\":\"2022-02-02T22:26:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html\"},\"wordCount\":814,\"publisher\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png\",\"articleSection\":[\"Documentaci\u00f3n\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html\",\"name\":\"Pagos con CoDi\u00ae | Openpay\",\"isPartOf\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png\",\"datePublished\":\"2021-03-09T21:07:43+00:00\",\"dateModified\":\"2022-02-02T22:26:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png\",\"contentUrl\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png\",\"width\":1563,\"height\":669},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\/\/documents-mx-dev.opdevhm.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pagos con CoDi\u00ae\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#website\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/\",\"name\":\"Openpay\",\"description\":\"Openpay a BBVA Company\",\"publisher\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/documents-mx-dev.opdevhm.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#organization\",\"name\":\"Openpay Soporte\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"contentUrl\":\"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"width\":290,\"height\":90,\"caption\":\"Openpay Soporte\"},\"image\":{\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/person\/4c704d548de0c4eed7ac90530bf655a7\",\"name\":\"user\",\"url\":\"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/author\/berni\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pagos con CoDi\u00ae | Openpay","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/codi.html\/","og_locale":"en_US","og_type":"article","og_title":"Pagos con CoDi\u00ae | Openpay","og_description":"El objetivo de esta gu\u00eda es explicar paso a paso c\u00f3mo generar referencias de pago con CoDi\u00ae. CoDi\u00ae es una plataforma desarrollada por Banco de M\u00e9xico para facilitar las transacciones de pago y cobro a trav\u00e9s de transferencias electr\u00f3nicas de forma r\u00e1pida, segura y eficiente, a trav\u00e9s de tel\u00e9fonos inteligentes. CoDi\u00ae usa c\u00f3digos QR, que… Read More »Pagos con CoDi\u00ae","og_url":"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/codi.html\/","og_site_name":"Openpay","article_published_time":"2021-03-09T21:07:43+00:00","article_modified_time":"2022-02-02T22:26:07+00:00","og_image":[{"width":1563,"height":669,"url":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png","type":"image\/png"}],"author":"user","twitter_card":"summary_large_image","twitter_misc":{"Written by":"user","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#article","isPartOf":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html"},"author":{"name":"user","@id":"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/person\/4c704d548de0c4eed7ac90530bf655a7"},"headline":"Pagos con CoDi\u00ae","datePublished":"2021-03-09T21:07:43+00:00","dateModified":"2022-02-02T22:26:07+00:00","mainEntityOfPage":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html"},"wordCount":814,"publisher":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/#organization"},"image":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage"},"thumbnailUrl":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png","articleSection":["Documentaci\u00f3n"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html","url":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html","name":"Pagos con CoDi\u00ae | Openpay","isPartOf":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage"},"image":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage"},"thumbnailUrl":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png","datePublished":"2021-03-09T21:07:43+00:00","dateModified":"2022-02-02T22:26:07+00:00","breadcrumb":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#primaryimage","url":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png","contentUrl":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2021\/03\/shutterstock_1812854656-1-1.png","width":1563,"height":669},{"@type":"BreadcrumbList","@id":"https:\/\/documents-mx-dev.opdevhm.com\/docs\/codi.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/documents-mx-dev.opdevhm.com\/"},{"@type":"ListItem","position":2,"name":"Pagos con CoDi\u00ae"}]},{"@type":"WebSite","@id":"https:\/\/documents-mx-dev.opdevhm.com\/#website","url":"https:\/\/documents-mx-dev.opdevhm.com\/","name":"Openpay","description":"Openpay a BBVA Company","publisher":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/documents-mx-dev.opdevhm.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/documents-mx-dev.opdevhm.com\/#organization","name":"Openpay Soporte","url":"https:\/\/documents-mx-dev.opdevhm.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/logo\/image\/","url":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2020\/05\/logo.png","contentUrl":"https:\/\/documents-mx-dev.opdevhm.com\/wp-content\/uploads\/2020\/05\/logo.png","width":290,"height":90,"caption":"Openpay Soporte"},"image":{"@id":"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/documents-mx-dev.opdevhm.com\/#\/schema\/person\/4c704d548de0c4eed7ac90530bf655a7","name":"user","url":"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/author\/berni"}]}},"_links":{"self":[{"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/posts\/3452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/comments?post=3452"}],"version-history":[{"count":0,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/posts\/3452\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/media\/4464"}],"wp:attachment":[{"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/media?parent=3452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/categories?post=3452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documents-mx-dev.opdevhm.com\/en\/wp-json\/wp\/v2\/tags?post=3452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}