C# 4.0 如何在Paypal SOAP API express签出中设置运费

C# 4.0 如何在Paypal SOAP API express签出中设置运费,c#-4.0,paypal,express-checkout,paypal-soap,C# 4.0,Paypal,Express Checkout,Paypal Soap,我正在添加一个20.00的项目,并将订单总数设置为22.00 paymentDetails.OrderTotal = new PayPalSandboxWS.BasicAmountType() { currencyID = ConvertProgramCurrencyToPayPalSandbox(currency), Value = "22.00" }; 并将装运总数设置为2.00 paymentDetails.ShippingTo

我正在添加一个20.00的项目,并将订单总数设置为22.00

 paymentDetails.OrderTotal = new PayPalSandboxWS.BasicAmountType()
     {
         currencyID = ConvertProgramCurrencyToPayPalSandbox(currency),
         Value = "22.00"
     };
并将装运总数设置为2.00

 paymentDetails.ShippingTotal = new PayPalSandboxWS.BasicAmountType()
     {
         currencyID = ConvertProgramCurrencyToPayPalSandbox(currency),
         Value = "2.00"
     };
但是我得到了这个错误:
购物车项目金额的总和与订单金额不匹配。


请协助

您没有设置
itemtoal
值!导致此erorr的原因:

double itemTot  = 20.0;
double tot      = 22.0;
double shipping = 2.0;
string desc     = "";
var paymentDetailsItemTypes = new List<PaymentDetailsItemType>();

PaymentDetailsType pdt = new PaymentDetailsType()
{        
    OrderDescription = desc,
    OrderTotal = new BasicAmountType()
    {
        currencyID = CurrencyCodeType.EUR,
        Value = tot.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)
    },
    PaymentDetailsItem = paymentDetailsItemTypes.ToArray(),
    ShippingTotal = new BasicAmountType()
    {
        currencyID = CurrencyCodeType.EUR,
        Value = shipping.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)
    },
    ItemTotal = new BasicAmountType()
    {
        currencyID = CurrencyCodeType.EUR,
        Value = itemTot.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)
    }
};
double itemTot=20.0;
双tot=22.0;
双重运输=2.0;
字符串desc=“”;
var paymentDetailsItemTypes=新列表();
PaymentDetailsType pdt=新的PaymentDetailsType()
{        
OrderDescription=desc,
OrderTotal=新的BasicAmountType()
{
currencyID=CurrencyCodeType.EUR,
Value=tot.ToString(“0.00”,System.Globalization.CultureInfo.InvariantCulture)
},
PaymentDetailsItem=paymentDetailsItemTypes.ToArray(),
ShippingTotal=新的基本计数类型()
{
currencyID=CurrencyCodeType.EUR,
Value=shipping.ToString(“0.00”,System.Globalization.CultureInfo.InvariantCulture)
},
ItemTotal=新的基本计数类型()
{
currencyID=CurrencyCodeType.EUR,
Value=itemTot.ToString(“0.00”,System.Globalization.CultureInfo.InvariantCulture)
}
};

我有完全相同的,不知道您是否找到了解决方案?在文档中找不到关于它的任何内容:您是否还有:SetExpressCheckoutRequestDetailsType sdt=new SetExpressCheckoutRequestDetailsType();sdt.ShippingMethod=ShippingServiceCodeType.CustomCode;sdt.ShippingMethodSpecified=true;