Closed jcchikikomori closed 3 years ago
Code snippet:
// Items list List<Item> productList = new ArrayList<>(); // Process current bag and pass to items list for (int i = 0; i < productModels.size(); i++) { ProductModel pm = productModels.get(i); List<OptionsModel> options = new ArrayList<>(pm.getBagModel().getOptions()); List<BestWithModel> bestWiths = new ArrayList<>(pm.getBagModel().getBestWith()); BigDecimal mainProductPrice = BigDecimal.valueOf( pm.getBagModel().getPrice() * pm.getQuantity()); TotalAmount mainProductTotalAmount = new TotalAmount(mainProductPrice, currency, null); // ADD MAIN PRODUCT Item mainProduct = new Item( pm.getName(), pm.getQuantity(), pm.getBagModel().getPoscode(), null, null, mainProductTotalAmount); productList.add(mainProduct); } // Set final total amount (accumulated) before passing to CheckoutRequest TotalAmount finalTotalAmount = new TotalAmount(new BigDecimal(dTotalPrice), currency, null); DebugLog.d(TAG, "[PayMaya] finalTotalAmount: " + finalTotalAmount.getValue()); // 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 ? LogLevel.VERBOSE : LogLevel.ERROR) .build();
Stacktrace:
2020-09-30 17:36:19.540 13771-13771/ph.mobext.REDACTED.debug D/CheckoutActivity: onActivityResult Request Code: 10000 2020-09-30 17:36:19.540 13771-13771/ph.mobext.REDACTED.debug D/CheckoutActivity: onActivityResult Result Code: 1063 2020-09-30 17:36:19.552 13771-13771/ph.mobext.REDACTED.debug E/PayMayaSDK: PayMaya Checkout result: FAILURE 2020-09-30 17:36:19.552 13771-13771/ph.mobext.REDACTED.debug E/PayMayaSDK: PaymentError(code=2553, message=Missing/invalid parameters., parameters=[PaymentErrorParameter(field=items[1].totalAmount.value, description=value must be at least 0), PaymentErrorParameter(field=items[2].totalAmount.value, description=value must be at least 0)], details=null)
Apparently, the Web SDK of PayMaya Checkout also facing this issue.
Last night, we notified that the issue was fixed last night, so we tested our client app again, and it already fixed. Closing this.
Code snippet:
Stacktrace: