checkout-payment-sample
checkout-payment-sample copied to clipboard
Integración Marketplace
Estoy armando una integracion tipo marketplace usando checkout pro
- En el frontend inicializo el componente con la Public Key del marketplace
initMercadoPago(import.meta.env.VITE_MERCADOPAGO_PUBLIC_KEY);
- En el backend creo la preferencia utilizando el Access Token del vendedor
public function setAccessToken(?Event $event): void
{
$mpToken = $event->mpToken()->first();
if (!$mpToken) {
abort(500, 'Undefined Mercado Pago Token for event');
}
SDK::setAccessToken($mpToken->access_token);
}
public function savePreference(Collection $items, int $externalReference): MercadoPagoPreference
{
$preference = new MercadoPagoPreference();
$preference->notification_url = url('/api/mercadopago/notifications');
$preference->external_reference = $externalReference;
$preference->payer = $this->createPayer();
$preference->binary_mode = true;
$preference->marketplace_fee = $items->sum(fn($item) => $item->quantity * $item->unit_price) * 0.1;
$preference->items = $items->toArray();
$preference->save();
return $preference;
}
Al hacer click sobre el boton de pago obtengo el siguiente error
{
"code": "unauthorized",
"message": "Unable to acquire requested preference from the resource."
}