Sending purchased items details to the PayPal?

Kotdroid :

I need to send the list of item purchased and whose payments are being done using Paypal so that the buyer as well as the vendor can see that what products have the been purchased or sold. Here is the snippet of what I did for the same, by following the Github code of PayPalCheckout but I get We'are sorry dialog each time. Here is my code snippet

private PayPalPayment prepareFinalCart() {

    List<PayPalItem> productsInCart = new ArrayList<>();
    double price;


    for (Program program : mPrograms) {
        if (null != program.programPrices.get(program.selectedPriceIndex).priceAfterDiscount) {
            price = program.programPrices.get(program.selectedPriceIndex).priceAfterDiscount;
        } else {
            price = program.programPrices.get(program.selectedPriceIndex).price;
        }
        PayPalItem item = new PayPalItem(program.type, 1, //Quantity
                new BigDecimal(price), //price
                Config.DEFAULT_CURRENCY, // currency
                 + String.valueOf(program.id)); // stock keeping unit

        productsInCart.add(item);
    }


    if (App.sCouponDetails != null) {
        App.sCouponDetails.calculateDiscount(mFinalCost);
    }


    PayPalItem[] items = new PayPalItem[productsInCart.size()];
    items = productsInCart.toArray(items);

    // Total amount
    BigDecimal subtotal = new BigDecimal(mFinalCost);

    // If you have shipping cost, add it here
    BigDecimal shipping = new BigDecimal("0.0");

    // If you have tax, add it here
    BigDecimal tax = new BigDecimal("0.0");

    PayPalPaymentDetails paymentDetails = new PayPalPaymentDetails(shipping, subtotal, tax);

    BigDecimal amount = subtotal.add(shipping).add(tax);


    // Getting Purchased Programs type
    StringBuilder programsType = new StringBuilder();
    for (int i = 0; i < mPrograms.size(); i++) {
        if (i == mPrograms.size() - 1) {
            programsType.append(mPrograms.get(i).type);
        } else {
            programsType.append(mPrograms.get(i).type).append(",");
        }
    }

    PayPalPayment payment = new PayPalPayment(amount, Config.DEFAULT_CURRENCY, "Total Amount: "/*programsType.toString()*/, Config.PAYMENT_INTENT);


    payment.items(items).paymentDetails(paymentDetails);


    // Custom field like invoice_number etc.,
    //payment.custom("This is text that will be associated with the payment that the app can use.");

    return payment;
}

Please suggest what's the issue here ?

Kotdroid :

Actually those b/c/d/f etc parameters are from PayPalPayment class. I just given its Json format. Here is what PayPalPayment class looks like-PayPalPayment.java

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=133781&siteId=1