Devo implementare Paypal nella mia applicazione. Qui ho aggiunto alcuni prodotti nel carrello. Se clicco sul carrello, devo pagare l'importo utilizzando Paypal.Problema di integrazione Paypal in titanio
Cliccando il pulsante Paypal, sto ottenendo il seguente errore:
Gli importi indicati per i prezzi, imposte, e la spedizione non aggiungere fino a concorrenza dell'importo totale.
Perché viene visualizzato questo errore?
Sto usando il seguente codice:
$.paypalWindow.addEventListener('open', function(){
var Paypal = require('ti.paypal');
var u = Ti.Android != undefined ? 'dp' : 0;
var status = Ti.UI.createLabel({ top: 20 + u, height: 50 + u, color: '#333', text: 'Loading, please wait...' });
$.paypalWindow.add(status); var price = totalamount;
var invoiceitemslist = JSON.stringify(data);
var button; function addButtonToWindow() {
if (button) { $.paypalWindow.remove(button); button = null; }
button = Paypal.createPaypalButton({ width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, top: 20 + u,
language: 'en_US',
appID: 'APP-80W284485P519543T',
paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX,
feePaidByReceiver: false,
enableShipping: false,
payment: {
paymentType: Paypal.PAYMENT_TYPE_BUSINESS,
subtotal: price,
tax: 0.00,
shipping: 0.00,
currency: 'USD',
recipient: '[email protected]',
customID: 'anythingYouWant',
invoiceItems:
[{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":2997,"itemPrice":999,"itemCount":3},
],
ipnUrl: 'http://www.appcelerator.com/',
merchantName: 'EYMOBINS Insurance',
memo: 'For the insurance with EYMOBINS!'
}
});
button.addEventListener('paymentCancelled', function (e) {
alert('Payment cancelled. Please try again!');
addButtonToWindow();
});
button.addEventListener('paymentSuccess', function (e) {
alert('Payment successfull. Please get your Policy No.!'+" "+e.transactionID);
$.paypalWindow.remove(button);
//addButtonToWindow();
});
button.addEventListener('paymentError', function (e) {
alert('Payment Error. Please try again!');
addButtonToWindow();
});
button.addEventListener('buttonDisplayed', function() {
$.paypalWindow.remove(status);
//alert('Please pay '+Ti.App.totalcost+'$ with Paypal!')
});
button.addEventListener('buttonError', function() {
});
$.paypalWindow.add(button);
}
addButtonToWindow();
});
$.paypalWindow.open();
Si prega di verificare il codice e darmi un'idea per risolvere il problema di cui sopra.
EDIT:
Qui sto affrontando una questione:
[{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":999,"itemPrice":999,"itemCount":1},{"name":"Average2Excellent CBSE KG EVS MATHS ENG Educational CD ROMS","totalPrice":547,"itemPrice":547,"itemCount":1}]
Qui il TotalAmount è 1546. Qui ho stampato le invoiceitems nella console, e sto ottenendo i dati come sopra .
Così che mi hanno dato come:
invoiceItems:invoiceitems,
come mezzo sto ottenendo il problema (gli importi indicati per i prezzi, imposte, e la spedizione non aggiungere fino a concorrenza dell'importo totale).
Stessa cosa ho scritto il codice come:
invoiceItems:[{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":999,"itemPrice":999,"itemCount":1},{"name":"Average2Excellent CBSE KG EVS MATHS ENG Educational CD ROMS","totalPrice":547,"itemPrice":547,"itemCount":1}]
che sta funzionando perfettamente.
Non funziona in modo dinamico quando viene assegnato il valore. Puoi controllare il codice e aiutare?
EDIT:
Se ho cercato di eseguire questo codice su un dispositivo Android, come sto facendo clic sul pulsante PayPal nulla happends. Perché il modulo di accesso non è aperto nel dispositivo Android.
È possibile fornire l'ID di correlazione restituito dalla risposta PayPal? – Eshan
non ho dato l'id di correlazione nel mio codice dovunque. Dovrei creare quell'id? se stai facendo il tutorial per favore dammi quello per imparare –