Actualmente estoy probando el sandbox para la integración de pago de PayPal usando Javascript.
Veo cómo usar el modo "Sandbox" en lugar de usar el modo "En vivo" al probar nuestros botones en Javascript.
Lo que pregunto es cómo configuro el título del producto para que el comprador pueda ver exactamente lo que está a punto de comprar antes de hacer clic en el botón "Pagar ahora" para finalizar la transacción.
Aquí está el código con el que estoy trabajando actualmente como se muestra a continuación:
//HTML GOES HERE TO CONTAIN THE PAYPAL BUTTON <div id="paypal-button-container"></div> <script src="https://www.paypal.com/sdk/js?&client-id=[MY-CLIENT-ID-GOES-HERE]&merchant-id=[MY-MERCHANT-EMAIL-ADDRESS-GOES-HERE]¤cy=USD"></script> paypal.Buttons({ style: { layout: 'vertical', color: 'gold', shape: 'pill', label: 'buynow' }, // Sets up the transaction when a payment button is clicked createOrder: function(data, actions) { return actions.order.create({ purchase_units: [{ amount: { value: 50, // Can reference variables or functions. Example: `value: document.getElementById('...').value` currency: 'USD' }, }] }); }, // Finalize the transaction after payer approval onApprove: function(data, actions) { return actions.order.capture().then(function(orderData) { // Successful capture! For dev/demo purposes: console.log('Capture result', orderData, JSON.stringify(orderData, null, 2)); var transaction = orderData.purchase_units[0].payments.captures[0]; alert('Transaction '+ transaction.status + ': ' + transaction.id + '\n\nSee console for all available details'); // When ready to go live, remove the alert and show a success message within this page. For example: // var element = document.getElementById('paypal-button-container'); // element.innerHTML = ''; // element.innerHTML = '<h3>Thank you for your payment!</h3>'; actions.redirect('https://SomeWebsiteURLiWillForwardThemTo.com'); }); } }).render('#paypal-button-container');En los documentos de PayPal, puede ver el objeto de la unidad de compra. https://developer.paypal.com/docs/api/orders/v2/#definition-purchase_unit dentro de ese objeto, puede ver que puede pasar una matriz de elementos. Esta es una matriz de objetos que puede ver aquí https://developer.paypal.com/docs/api/orders/v2/#definition-item . Puede definir los parámetros de cada producto, incluido el nombre. Entonces, en tu caso, creo que puedes intentar algo como lo siguiente:
purchase_units: [{ amount: { value: 50, currency: 'USD', breakdown: { item_total: { currency_code: 'USD', value: 50 }, } }, items: [ { name: 'Product Name', unit_amount: { currency_code: 'USD', value: 50 }, quantity: '1' } ] }]Aquí hay un violín que funciona, solo ingrese su identificación de cliente para probar. Demostración de violín
NOTA: Mire los documentos y vea cuáles son los campos obligatorios. También creo que necesita aplicar un desglose a la cantidad para que esto funcione.