// build contact
Contact pmContact = new Contact(ci.contactNumber(), ci.emailAddress());
// build buyer
Buyer pmBuyer = new Buyer(
ci.firstname(),
null,
ci.lastname(),
pmContact,
null, null, null
);
// Prepare params for PayMayaCheckout
String successURL = BuildConfig.CASHLESS_REDIRECT_URL_SUCCESS;
String failedURL = BuildConfig.CASHLESS_REDIRECT_URL_FAILED;
String canceledURL = BuildConfig.CASHLESS_REDIRECT_URL_CANCELED;
// Compile to a class
RedirectUrl redirectUrl = new RedirectUrl(successURL, failedURL, canceledURL);
// Prepare Checkout instance with final details
CheckoutRequest checkout = new CheckoutRequest(
finalTotalAmount, pmBuyer,
productList, referenceNumber, redirectUrl, null);
// Prepare PayMayaCheckout singleton
mPayMayaCheckout = PayMayaCheckout.Companion.newBuilder()
.clientPublicKey(midPublicKey)
.environment(PayMayaEnvironment.PRODUCTION)
.logLevel(BuildConfig.DEBUG)
.build();
Error:
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlinx/serialization/json/Json;
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:126)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6732)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlinx/serialization/json/Json;
at com.paymaya.sdk.android.common.internal.di.CommonModule.getJson(CommonModule.kt:34)
at com.paymaya.sdk.android.common.internal.di.CommonModule.getCheckStatusUseCase(CommonModule.kt:50)
at com.paymaya.sdk.android.checkout.internal.PayMayaCheckoutImpl.<init>(PayMayaCheckoutImpl.kt:44)
at com.paymaya.sdk.android.checkout.internal.PayMayaCheckoutImpl$BuilderImpl.build(PayMayaCheckoutImpl.kt:117)
at ph.REDACTED.REDACTED.ui.checkout.CheckoutPresenter.executePaymaya(CheckoutPresenter.java:455)
at ph.REDACTED.REDACTED.ui.checkout.CheckoutPresenter.preparePlaceOrderCashless(CheckoutPresenter.java:286)
at ph.REDACTED.REDACTED.ui.checkout.CheckoutPresenter.access$500(CheckoutPresenter.java:62)
at ph.REDACTED.REDACTED.ui.checkout.CheckoutPresenter$2.onNext(CheckoutPresenter.java:545)
at ph.REDACTED.REDACTED.ui.checkout.CheckoutPresenter$2.onNext(CheckoutPresenter.java:523)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:124)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6732)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlinx.serialization.json.Json" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/ph.REDACTED.REDACTED.staging.debug-9gRKU1v50fuLHzuu_FJkPA==/base.apk"],nativeLibraryDirectories=[/data/app/ph.REDACTED.REDACTED.staging.debug-9gRKU1v50fuLHzuu_FJkPA==/lib/arm64, /data/app/ph.REDACTED.REDACTED.staging.debug-9gRKU1v50fuLHzuu_FJkPA==/base.apk!/lib/arm64-v8a, /system/lib64]]
...
Implementation:
Error: