如何将我的购物车项目添加到Transaction.item_list.items

时间:2013-06-14 21:50:22

标签: paypal

我正在尝试使用.net REST API SDK将我的购物车项目传递给paypal

以下是代码:

            Dim b As Integer = 0
            Dim pCartItem As New PayPal.Api.Payments.Item
            Dim pCartItemList As New PayPal.Api.Payments.ItemList
            Do While b <= cart.Count - 1

                pCartItem.name = cart(b).Name
                pCartItem.price = cart(b).Price
                pCartItem.quantity = cart(b).Quantity
                pCartItem.currency = "USD"
                pCartItem.sku = cart(b).Sku
                pCartItemList.items.Add(pCartItem) 'This line errors out
                pCartItem = New PayPal.Api.Payments.Item
                b += 1
            Loop
            orderTransaction.item_list = pCartItemList

出错的行pCartItemList.items.Add(pCartItem)会抛出错误“对象引用未设置为对象的实例。尝试使用关键字”new“:。我不明白为什么因为当我悬停时通过Visual Studio中的pCartItem,我可以看到从购物车中分配的所有正确值。

这是将Item对象添加到Transacation.item_list的正确方法吗?

非常感谢任何帮助。

谢谢,

托米

1 个答案:

答案 0 :(得分:1)

我已经发现,可能遇到此问题的其他任何人的错误都是可行的代码

        Dim pCartItem As PayPal.Api.Payments.Item = New PayPal.Api.Payments.Item
            orderTransaction.item_list = New PayPal.Api.Payments.ItemList
            orderTransaction.item_list.items = New List(Of PayPal.Api.Payments.Item)

            Do While b <= cart.Count - 1

                pCartItem.name = cart(b).Name
                pCartItem.price = cart(b).Price
                pCartItem.quantity = cart(b).Quantity
                pCartItem.currency = "USD"
                pCartItem.sku = cart(b).Sku
                orderTransaction.item_list.items.Add(pCartItem)
                pCartItem = New PayPal.Api.Payments.Item
                b += 1
            Loop