如何将折扣详细信息与 BasketXML 一起传递?

How to pass Discount details along with BasketXML?

我正在将 sagepay 3.0 集成到我的系统中。

我想按照 documentation 第 48 页中的建议将折扣与 BasketXML 一起传递。

但是Basketclass中没有这种传递折扣的方法。

我正在使用 sagepay-api-1.2.2.0.jar 库进行集成。

    Basket basket = new Basket();
    // ... set common params to basket
    // basket.setDiscounts(discounts); // not exists!

    BasketXmlFormatter xmlFormatter = new BasketXmlFormatter();
    String basketXml = xmlFormatter.toXml(iFormPayment, basket);

因为没有这种方法可以在购物车中设置折扣。我们需要手动附加 XML 字符串。

    String discountXML = "<discounts>";
    String discountTag = "<discount>"; // can be muliple
    discountTag += "<fixed>" + discountPrice + "</fixed>"; // REQUIRED
    discountTag += "<description>10% Discount Applied</description>";
    discountTag += "</discount>";
    discountXML += discountTag;
    discountXML += "</discounts>";

    BasketXmlFormatter xmlFormatter = new BasketXmlFormatter();
    String basketXml = xmlFormatter.toXml(iFormPayment, basket);
    basketXml = basketXml.replace("</basket>", discountXML + "</basket>");