2011-08-19 16 views

risposta

-1

Non credo che Apple ti consenta di farlo. Non consentono altri mezzi di pagamento diversi dall'acquisto in-app.

+2

Questo vale solo per servizi e abbonamenti. Leggi le linee guida. – Rog

+0

In pratica non penso che sia vero. Ad esempio, Amazon non è autorizzato ad avere la sua libreria nell'app Kindle. –

+0

Ross: Sono quasi certo che ti sei dimostrato sbagliato IE Amazon ha la sua app in cui puoi acquistare molti prodotti senza utilizzare il sistema di acquisto In-App. –

2

Ecco come l'ho fatto per un'app campione. Ho creato un carrello nella mia app (solo un semplice dizionario di elementi che posso aggiungere e sottrarre dal normale flusso di lavoro) e in alto a destra dell'app c'è un pulsante che dice "Pagamento". A quel punto l'utente verrà presentato con una vista del proprio carrello e utilizzando la libreria MPL di Paypal faccio una richiesta per generare un pulsante "paga con paypal".

UIButton *button = [[PayPal getPayPalInst] getPayButtonWithTarget:self andAction:initiatePayment andButtonType:BUTTON_294x43]; 

Quindi nel mio metodo di pagamento iniziale riempio il carrello.

(void)initiatePayment { 
    [preapprovalField resignFirstResponder]; 

    [PayPal getPayPalInst].shippingEnabled = TRUE; 
    [PayPal getPayPalInst].dynamicAmountUpdateEnabled = TRUE; 
    [PayPal getPayPalInst].feePayer = FEEPAYER_EACHRECEIVER; 

    PayPalPayment *payment = [[[PayPalPayment alloc] init] autorelease]; 
    payment.recipient = @"[email protected]"; 
    payment.paymentCurrency = @"USD"; 
    payment.description = @"Cart Checkout"; 
    payment.merchantName = @"Fake Store O Stuff"; 
    payment.subTotal = [NSDecimalNumber decimalNumberWithString:@"10"]; 
    payment.invoiceData = [[[PayPalInvoiceData alloc] init] autorelease]; 

    payment.invoiceData.invoiceItems = [NSMutableArray array]; 
    for(invoiceItem cartItem in Cart.Items) { 
     PayPalInvoiceItem *item = [[[PayPalInvoiceItem alloc] init] autorelease]; 
     item.totalPrice = cartItem.totalPrice; 
     item.name = cartItem.name; 
     [payment.invoiceData.invoiceItems addObject:item]; 
    } 
    payment.invoiceData.totalShipping = [NSDecimalNumber decimalNumberWithString:@"2"]; 
    payment.invoiceData.totalTax = [NSDecimalNumber decimalNumberWithString:@"0.35"]; 

    [[PayPal getPayPalInst] checkoutWithPayment:payment]; 
} 
Problemi correlati