PayPal plugin available here: https://marketplace.coronalabs.com/plugin/paypal-plugin
Please post any questions or issues you have regarding the PayPal plugin in this thread so I can help you more efficiently.
Thank you
PayPal plugin available here: https://marketplace.coronalabs.com/plugin/paypal-plugin
Please post any questions or issues you have regarding the PayPal plugin in this thread so I can help you more efficiently.
Thank you
I just posted a new question about PayPal payments and Google Policies (in general), maybe this would also be interesting for the developers of the plugin?
Thanks, i’ll take a look
Hello,
Can I use this plug in with free Corona SDK or it needs Enterprise?
Thanks,
Plugins in the Corona Marketplace can be used with the free version of Corona SDK.
Rob
I cannot use this plugin with Android. Specifically I get the error below. It will show up and let you sign in and so on, but when trying to pay, it soft crashes with this error.
java.lang.ClassNotFoundException: com.paypal.android.sdk.payments.PayPalPayment
Hello there. Did you try and contact me on Twitter? I saw a similar tweet, but it was deleted or something so I couldn’t respond.
What Android device are you testing on?
More details the better.
I’ll get this sorted for you.
Thanks
I/Corona (31968): WW\_Purchase: Buy Pressed I/Corona (31968): WW\_Purchase: utils.setActivityIndicator(true) I/Corona (31968): WW\_Purchase: Purchasing me.myapp.packone V/WindowManager( 958): not Base app: Adding window Window{1bdb09e2 u0 me.myself.eye/com.ansca.corona.CoronaActivity} at 5 of 10 I/ActivityManager( 958): START u0 {cmp=me.myself.eye/com.paypal.android.sdk.payments.PaymentActivity (has extras)} from uid 10002 on display 0 W/ActivityManager( 958): Input dispatching paused for current ActivityRecord: ActivityRecord{20124173 u0 me.myself.eye/com.paypal.android.sdk.payments.PaymentActivity t94} V/WindowManager( 958): addAppToken: AppWindowToken{77e1ca9 token=Token{9a91830 ActivityRecord{20124173 u0 me.myself.eye/com.paypal.android.sdk.payments.PaymentActivity t94}}} to stack=1 task=94 at 1 E/Parcel ( 958): Class not found when unmarshalling: com.paypal.android.sdk.payments.PayPalPayment E/Parcel ( 958): java.lang.ClassNotFoundException: com.paypal.android.sdk.payments.PayPalPayment E/Parcel ( 958): at java.lang.Class.classForName(Native Method) E/Parcel ( 958): at java.lang.Class.forName(Class.java:306) E/Parcel ( 958): at java.lang.Class.forName(Class.java:270) E/Parcel ( 958): at android.os.Parcel.readParcelableCreator(Parcel.java:2290) E/Parcel ( 958): at android.os.Parcel.readParcelable(Parcel.java:2254) E/Parcel ( 958): at android.os.Parcel.readValue(Parcel.java:2161) E/Parcel ( 958): at android.os.Parcel.readArrayMapInternal(Parcel.java:2494) E/Parcel ( 958): at android.os.BaseBundle.unparcel(BaseBundle.java:221) E/Parcel ( 958): at android.os.BaseBundle.getString(BaseBundle.java:918) E/Parcel ( 958): at com.amazon.startingwindow.CustomStartingWindow.updateURIOverrides(CustomStartingWindow.java:80) E/Parcel ( 958): at com.amazon.startingwindow.CustomStartingWindow.setStartingWindowURIs(CustomStartingWindow.java:113) E/Parcel ( 958): at com.android.server.am.StartingWindowActivityStackCallback.onAppStartingPreview(StartingWindowActivityStackCallback.java:21) E/Parcel ( 958): at com.android.server.am.VendorActivityStackCallback.callOnAppStartingPreview(VendorActivityStackCallback.java:44) E/Parcel ( 958): at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:2192) E/Parcel ( 958): at com.android.server.am.ActivityStackSupervisor.startActivityUncheckedLocked(ActivityStackSupervisor.java:2336) E/Parcel ( 958): at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1611) E/Parcel ( 958): at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:999) E/Parcel ( 958): at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3671) E/Parcel ( 958): at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3629) E/Parcel ( 958): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:139) E/Parcel ( 958): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2410) E/Parcel ( 958): at android.os.Binder.execTransact(Binder.java:446) E/Parcel ( 958): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.paypal.android.sdk.payments.PayPalPayment" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]] E/Parcel ( 958): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) E/Parcel ( 958): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) E/Parcel ( 958): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) E/Parcel ( 958): ... 22 more E/Parcel ( 958): Suppressed: java.lang.ClassNotFoundException: com.paypal.android.sdk.payments.PayPalPayment E/Parcel ( 958): at java.lang.Class.classForName(Native Method) E/Parcel ( 958): at java.lang.BootClassLoader.findClass(ClassLoader.java:781) E/Parcel ( 958): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) E/Parcel ( 958): at java.lang.ClassLoader.loadClass(ClassLoader.java:504) E/Parcel ( 958): ... 23 more E/Parcel ( 958): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available W/CustomStartingWindow( 958): Could not read bundle, ignoring W/CustomStartingWindow( 958): android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.paypal.android.sdk.payments.PayPalPayment
Hey @infusedreams. I did contact you on twitter, twice accidentally so I deleted the one tweet.
I am using regular Corona for this. Not enterprise. Everything looks fine. I init as you show in the documentation. Using Sandbox. Log in with the sandbox username and pword. etc.
After I authenticate and click Pay. The Paypal window goes away. In logcat this is the full (relevant) log
The android device is a Kindle Fire HD 6 (4th Generation)
I also tried on a non kindle and had the same. I am compiling the build for Amazon.
Hey sorry, I meant what Android device are you testing on?
The stacktrace is helpful also, thanks for posting that.
So I need:
Android device name/model that you’re testing on.
Firmware/software version of the Android device (also if you’re using any custom rom).
Thank you
EDIT: Just saw your response. Gotcha, so it’s happening on Amazon devices. I’ll investigate.
EDIT 2: Could you also post your build.settings file for me please? Cheers
Yes. It’s the latest OS, Fire OS 5.3.1.1 installed feb 13th 2017.
settings = { orientation = { default = "portrait", supported = { "portrait","portraitUpsideDown" } }, excludeFiles = { all = { "fastlane", ".git", ".gitignore","app\_info" }, iphone = { "Icon-\*dpi.png"}, android = { "Icon.png", "\*@2x.png" } }, splashScreen = { enable = true, image = "2208.png" }, plugins = { --TODO: Add plugins ["plugin.OneSignal"] = { publisherId = "com.onesignal", }, ["plugin.advertisingId"] = { publisherId = "com.coronalabs" }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true, ["android-kindle"]=true }, }, ["plugin.gameanalytics\_v2"] = { publisherId = "com.gameanalytics", supportedPlatforms = { iphone=true, android=true, ["android-kindle"]=true } }, ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", }, ["plugin.amazon.iap"] = { publisherId = "com.coronalabs" }, ["plugin.paypal"] = { publisherId = "com.infusedreams" }, ["plugin.iCloud"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, appletvos=true, osx=true } }, ["plugin.facebook.v4"] = { publisherId = "com.coronalabs" }, ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true, ["android-kindle"]=true } }, ["plugin.pollfish"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=false, ["android-kindle"]=false } }, ["plugin.trialPay"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=false, ["android-kindle"]=false } }, ["plugin.personaly"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=false, ["android-kindle"]=false } }, ["plugin.appnext"] = { publisherId = "com.appnext", supportedPlatforms = { iphone=true, android=false, ["android-kindle"]=false } }, ["plugin.supersonic"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true, ["android-kindle"]=false } }, }, -- Android permissions android = { usesPermissions = { "android.permission.INTERNET", "com.android.vending.BILLING", -- NOTES: Required by appnext, trialpay, pollfish, appodeal, GA "android.permission.ACCESS\_NETWORK\_STATE", -- NOTES: Required by trialpay, pollfish -- "android.permission.READ\_PHONE\_STATE", -- NOTES: Required by trialpay, pollfish -- "android.permission.ACCESS\_WIFI\_STATE", -- NOTES: Required by trialpay, appodeal "android.permission.WRITE\_EXTERNAL\_STORAGE", -- NOTES: Required by pollfish, appodeal --"android.permission.ACCESS\_FINE\_LOCATION", --for increased revenue. But will eliminate most Kindle devices. -- NOTES: Required by pollfish, appodeal --"android.permission.ACCESS\_COARSE\_LOCATION", --for increased revenue. But will eliminate most Kindle devices. -- NOTES: Required by appodeal "android.permission.GET\_ACCOUNTS", -- NOTES: Required by PAYPAL plugin "android.permission.CAMERA", -- used for card scanning "android.permission.VIBRATE", -- vibration occurs when card scanner successfully scans a credit card }, usesFeatures = { -- NOTES: Required by PAYPAL plugin {name = "android.hardware.camera", required = false}, -- Reccomended to enable card scanning {name = "android.hardware.camera.autofocus", required = false} -- Reccomended to improve card scanning }, }, }
Thanks, that’s all the information I need for now.
I do have a kindle device, although I’m not sure if it’s compatible with fire os. I’ll report back after i’ve done some testing.
Thank you! I appreciate it
@infusedreams. I have another glitch in the plugin to report. Whenever I switched to production (vs sandbox) it always told me I had an invalid clientID. Eventually I tried placing the live clientID in the sandboxClientId field, and voila; it accepts it. So, presumably the plugin does not obey the productionClientId
config field.
See code:
-- Configure PayPal store.config { productionClientId = "NOT\_REAL\_VALUESvduyifgasjdhfgeuywgfdsbayYogZerZxLc-ew683eo\_JuQrZt", sandboxClientId = "PLACE\_PRDUCTIONCLIENTID\_HERE\_AND\_IT\_TAKES\_IT", acceptCreditCards = true, --true/false (optional) -- default false -- language = "en", --The users language/locale -- If omitted paypal will show it's views in accordance with the device's current language setting. merchant = { name = "MY APP", -- (required) -- The name of the merchant/company }, rememberUser = true, environment = "production", -- Valid values: "sandbox", "noNetwork", "production" }
I’ll take a look at that also.
Sorry for the delay on this. I recently switched my dev environment to Windows, so i’m having to wait until a virtual machine of Mac OS is downloaded/installed before I can get started.
It should be done soon though, so I expect to be in a position to look into this either late today, or tomorrow for sure.
Thanks for your patience.
I’m going to be honest with you, I’ve been out of work sick/ill since October, and my health is so sporadic that it makes working pretty much impossible in my current state.
I have tried to look, but can never have enough time before I have to leave the computer. I also haven’t done any Corona related programming since October. I do recall testing on all Android & Amazon devices at my disposal prior to releasing the plugin, and it worked on all platforms.
I do not have any of the devices you have though, so the problem was probably there since launch on those devices.
I can understand you either want to get this working, or get your money back, So I propose the following options:
I can give you a refund
I can give you the plugin source so you can try and fix it (as you’re an enterprise customer).
You can wait until I can get it sorted. I can’t give a time frame due to my condition, however. Currently programming is downgraded to a hobby for me, when i’m able to do so.
I did take a peek at the PayPal jars and they do include the class that it’s complaining is missing. It’s going to take some sleuthing to figure out why it’s not finding the class with Amazon builds.
One question for you, if you rename your built apk to .zip and open it up, do you see a plugin.paypal.jar in there? If so, can you email it to me? I’d like to take a look all the same.
Thank you
plugin.paypal.jar is not there.
also, I sent you a skype invite. We could discuss there.
HI
While doing credit card payment for the sdk, i am getting error. i.e : System error: please try again later…
Please let me know how to proceed ahead.