在 Checkout 砖块中启用 Mercado Pago 钱包付款

问题描述 投票:0回答:1

我正在我的网站上实施结帐程序,目的是处理我网站上所有可能的付款方式,而无需重定向或使用任何弹出模式。

根据 Mercado Pago 参考,完整的结帐积木(包含所有积木)应该如下所示

introducir la descripción de la imagen aquí

但是,当我使用测试凭据在我的页面上实现它时,我得到的结果如下:

introducir la descripción de la imagen aquí

只出现这3种支付方式,并没有出现使用Mercado Pago钱包资金支付的选项。 这是我正在使用的代码:

const mp = new MercadoPago('TEST-e587cc71-b47f-4db3-b3cd-515433ee5d53', { locale: 'es-AR' }); const bricksBuilder = mp.bricks(); const renderPaymentBrick = async (bricksBuilder) => { const settings = { initialization: { /* "amount" es el monto total a pagar por todos los medios de pago con excepción de la Cuenta de Mercado Pago y Cuotas sin tarjeta de crédito, las cuales tienen su valor de procesamiento determinado en el backend a través del "preferenceId" */ amount: 10000, preferenceId: "<PREFERENCE_ID>", payer: { firstName: "", lastName: "", email: "", }, }, customization: { visual: { style: { theme: "dark", }, }, paymentMethods: { creditCard: "all", debitCard: "all", ticket: "all", bankTransfer: "all", wallet_purchase: "all", maxInstallments: 9 }, }, callbacks: { onReady: () => { /* Callback llamado cuando el Brick está listo. Aquí puede ocultar cargamentos de su sitio, por ejemplo. */ }, onSubmit: ({ selectedPaymentMethod, formData }) => { // callback llamado al hacer clic en el botón de envío de datos return new Promise((resolve, reject) => { fetch("/______desubik2/buy/php/process-payment.php", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(formData), }) .then((response) => { // recibir el resultado del pago console.log(response.json()); resolve(); }) .catch((error) => { // manejar la respuesta de error al intentar crear el pago reject(); }); }); }, onError: (error) => { // callback llamado para todos los casos de error de Brick console.error(error); }, }, }; window.paymentBrickController = await bricksBuilder.create( "payment", "paymentBrick_container", settings ); }; renderPaymentBrick(bricksBuilder);
如你所见,我没有添加任何PREFERENCE_ID,我不知道这是否与没有添加使用Mercado Pago钱包资金支付的选项有关(我明白当选择此选项时,处理是使用首选项完成的)。
不过,我也尝试在 PHP 中放置之前创建的首选项 ID,但问题并未解决:

preferenceId: "<?= $preference->id ?>",



浏览器控制台中将显示以下消息:

introducir la descripción de la imagen aquí

... 就好像 wallet_purchase 选项不存在一样,这是最让我惊讶的。

如果有人可以指导我如何修复它,或者有什么替代方案,请提前致谢。问候

javascript sdk mercadopago mercadopagosdk
1个回答
0
投票
解决了。进一步查看 Mercado Pago 文档后,他们似乎更新了之前称为

wallet_purchase

 的参数。现在叫
mercadoPago
:

paymentMethods: { creditCard: "all", debitCard: "all", ticket: "all", bankTransfer: "all", mercadoPago: "all", // <-------- maxInstallments: 9 },
要小心,因为文档有些过时了。

P.S.:我还必须加载测试

PREFERENCE_ID

才能使其正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.