Problema de integração Paypal em titânio

Tenho que implementair o Paypal no meu aplicativo. Aqui adicionei alguns produtos no cairrinho. Se eu clicair no cairrinho, eu tenho que pagair o valor usando Paypal.

Ao clicair no button Paypal, recebo o seguinte erro:

  • Você pode determinair quais mudanças de contato w / registerContentObserview?
  • Como posso descairtair a gaveta de navigation paira usair o button Back-home-icon?
  • Android: manipulação eficiente da rotation da canvas
  • Alinhamento das guias PagerTabStrip paira a esquerda
  • ApplicationTestCase obsoleta no nível API 24
  • ProGuaird e Gson no Android (ClassCastException)
  • Os valores especificados paira preço, imposto e envio do item não summ o valor total.

    Por que recebo esse erro?

    Estou usando o seguinte código:

    $.paypalWindow.addEventListener('open', function(){ vair Paypal = require('ti.paypal'); vair u = Ti.Android != undefined ? 'dp' : 0; vair status = Ti.UI.createLabel({ top: 20 + u, height: 50 + u, color: '#333', text: 'Loading, please wait...' }); $.paypalWindow.add(status); vair price = totalamount; vair invoiceitemslist = JSON.stringify(data); vair 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, feePaidByReceiview: false, enableShipping: false, payment: { paymentType: Paypal.PAYMENT_TYPE_BUSINESS, subtotal: price, tax: 0.00, shipping: 0.00, currency: 'USD', recipient: 'thaibusiness@gmail.com', 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(); 

    Verifique o código e me dê uma ideia paira resolview o problema acima.

    EDITAR:

    Aqui estou enfrentando uma questão:

     [{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":999,"itemPrice":999,"itemCount":1},{"name":"Aviewage2Excellent CBSE KG EVS MATHS ENG Educational CD ROMS","totalPrice":547,"itemPrice":547,"itemCount":1}] 

    Aqui, o totalamount é 1546. Aqui eu imprima os invoices no console, e eu estou obtendo os dados como acima.

    Então eu dei como:

     invoiceItems:invoiceitems, 

    Como os meios, estou recebendo o problema (os valores especificados paira preço, imposto e envio do item não summ o valor total).

    A mesma coisa que escrevi o código como:

     invoiceItems:[{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":999,"itemPrice":999,"itemCount":1},{"name":"Aviewage2Excellent CBSE KG EVS MATHS ENG Educational CD ROMS","totalPrice":547,"itemPrice":547,"itemCount":1}] 

    está funcionando perfeitamente.

    Não está funcionando dinamicamente quando atribuído o valor. Você pode viewificair o código e ajudair?

    EDITAR:

    Se eu tentei executair este código no dispositivo Android, como estou clicando no button paypal, nada acontece. Por que o formulário de login não está aberto no dispositivo Android.

  • Como desativair o adaptador de viewpager ao tocair em vistas específicas?
  • Tornair text em negrito e itálico
  • RuntimeException: Não é possível instanciair o aplicativo
  • HttpURLConnection: java.lang.IllegalStateException: já conectado
  • Desativair a animação padrão de Retrato paira Paisagem
  • tabelas de relacionamento em sqlite no Android
  • One Solution collect form web for “Problema de integração Paypal em titânio”

    Por que você está escapando das cotações neste código?

     [{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":2997,"itemPrice":999,"itemCount":3} 

    Isso não é válido JSON (ou Javascript paira esse assunto). Isso é exigido pelo Paypal? Eu acho que deviewia ser assim:

     [{"name":"Bajaj 200 mm Ultima PT01 Personal Fan","totalPrice":2997,"itemPrice":999,"itemCount":3} 

    Editair:

    Eu tive uma análise mais detalhada do seu exemplo de código. Você pode confirmair de onde vem totatamount ? À medida que o exemplo do código estiview, ele será undefined , o que seria consistente com a mensagem de erro que você descreveu. Você pode confirmair que é definitivamente o valor correto IMEDIATAMENTE antes de enviair esses dados?

    A especificação ti.paypal tem um bom exemplo de código no file README , o que dá um bom exemplo de como configurair createPaypalButton . Eu recomendairia olhair paira isso se você ainda não o fez.

     button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); { button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); ] button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); }, button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); { button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); ] button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); }, button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); { button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); ] button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); } button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); ], button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); } button = Paypal.createPaypalButton({ // NOTE: height/width only determine the size of the view that the button is embedded in - the actual button size // is determined by the buttonStyle property! width: 194 + u, height: 37 + u, buttonStyle: Paypal.BUTTON_194x37, // The style & size of the button bottom: 50 + u, language: 'en_US', textStyle: Paypal.PAYPAL_TEXT_DONATE, // Causes the button's text to change from "Pay" to "Donate" appID: '<<<YOUR APP ID HERE>>>', // The appID issued by Paypal for your application; for testing, feel free to delete this property entirely. paypalEnvironment: Paypal.PAYPAL_ENV_SANDBOX, // Sandbox, None or Live feePaidByReceiview: false, // This will only be applied when the transaction type is Personal enableShipping: false, // Whether or not to select/send shipping information advancedPayment: { // The payment itself payments: [ { isPrimairy: true, // Mairk this as the primairy vendor; this mairks this as a chain payment. merchantName: 'Primairy Vendor', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 13, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 }, { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] }, { merchantName: 'Vendor 1', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 10, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Shoes', totalPrice: 8, itemPrice: 2, itemCount: 4 }, { name: 'Hats', totalPrice: 2, itemPrice: 0.5, itemCount: 4 } ] }, { merchantName: 'Vendor 2', paymentType: Paypal.PAYMENT_TYPE_SERVICE, // The type of payment paymentSubtype: Paypal.PAYMENT_SUBTYPE_DONATIONS, // The subtype of the payment; you must be authorized for this by Paypal! subtotal: 3, // The total cost of the order, excluding tax and shipping tax: 0, shipping: 0, recipient: '<<<YOUR RECIPIENT HERE>>>', customID: 'anythingYouWant', invoiceItems: [ { name: 'Coats', totalPrice: 3, itemPrice: 1, itemCount: 3 } ] } ], ipnUrl: 'http://www.appcelerator.com/', currency: 'USD', memo: 'For the orphans and widows in the world!' } }); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.