Note that there are some explanatory texts on larger screens.

plurals
  1. POBlackberry In App purchase getExistingPurchases and PaymentEngine.CONNECTION_MODE_LOCAL showing error
    primarykey
    data
    text
    <p>I am using below code to implement in app purchase.I have added Blackberry paymentapi.jar in my project. And i have referenced this code from below link:</p> <p><a href="http://docs.blackberry.com/en/developers/deliverables/20374/Developing_your_application_1326736_11.jsp#Initiating_a_purchase_1314129_11" rel="nofollow">http://docs.blackberry.com/en/developers/deliverables/20374/Developing_your_application_1326736_11.jsp#Initiating_a_purchase_1314129_11</a></p> <pre><code>package mypackage; import net.rim.device.api.ui.Field; import net.rim.device.api.ui.FieldChangeListener; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.component.BasicEditField; import net.rim.device.api.ui.component.ButtonField; import net.rim.device.api.ui.component.Dialog; import net.rim.device.api.ui.component.RichTextField; import net.rim.device.api.ui.container.HorizontalFieldManager; import net.rim.device.api.ui.container.MainScreen; import net.rimlib.blackberry.api.paymentsdk.PaymentEngine; import net.rimlib.blackberry.api.paymentsdk.PaymentException; import net.rimlib.blackberry.api.paymentsdk.Purchase; import net.rimlib.blackberry.api.paymentsdk.PurchaseArgumentsBuilder; public class PurchaseDemo extends UiApplication { public static void main(String[] args) { PurchaseDemo app = new PurchaseDemo(); app.enterEventDispatcher(); } public PurchaseDemo() { pushScreen(new PurchaseDemoScreen()); } private static class PurchaseDemoScreen extends MainScreen implements FieldChangeListener { private ButtonField buyButton; private ButtonField displayButton; private BasicEditField digitalGoodName; private BasicEditField digitalGoodSku; private PaymentEngine engine = PaymentEngine.getInstance(); public PurchaseDemoScreen() { setTitle("Payment Service SDK Demo"); if (engine != null) { engine.setConnectionMode(PaymentEngine.CONNECTION_MODE_LOCAL); digitalGoodName = new BasicEditField("Digital Good Name: ", "Sample Good"); add(digitalGoodName); digitalGoodSku = new BasicEditField("Digital Good SKU: ", "abc123"); add(digitalGoodSku); HorizontalFieldManager hfm = new HorizontalFieldManager(); add(hfm); buyButton = new ButtonField("Buy"); buyButton.setChangeListener(this); hfm.add(buyButton); displayButton = new ButtonField("Display Purchases"); displayButton.setChangeListener(this); hfm.add(displayButton); } else { RichTextField errorMessage = new RichTextField("Sorry, in-app purchases are unavailable"); add(errorMessage); } } public void fieldChanged(Field field, int context) { if (field == buyButton) { String name = digitalGoodName.getText(); String sku = digitalGoodSku.getText(); PurchaseArgumentsBuilder arguments = new PurchaseArgumentsBuilder() .withDigitalGoodSku( sku ) .withDigitalGoodName( name ) .withMetadata( name ) .withPurchasingAppName( "Payment Service SDK Demo" ); try { Purchase purchase = engine.purchase(arguments.build()); Dialog.inform("Purchase of " + purchase.getMetadata() + " is successful."); } catch (IllegalArgumentException e) { Dialog.inform(e.getMessage()); } catch (PaymentException e) { Dialog.inform(e.getMessage()); } } else if (field == displayButton) { try { Purchase[] purchases = engine.getExistingPurchases(true); if (purchases.length != 0) { if (getFieldCount() &gt; 3) { deleteRange(3, (getFieldCount()-3)); } for (int i = 0; i &lt; purchases.length; i++ ) { RichTextField purchaseRecord = new RichTextField("Name: " + purchases[i].getMetadata() + " SKU: " + purchases[i].getDigitalGoodSku()); add(purchaseRecord); } } else { Dialog.inform("No existing purchases"); } } catch (PaymentException e) { Dialog.inform(e.getMessage()); } } } } } </code></pre> <p>In the above code </p> <pre><code>engine.setConnectionMode(PaymentEngine.CONNECTION_MODE_LOCAL); Purchase[] purchases = engine.getExistingPurchases(true); </code></pre> <p>showing error in red.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload