When a user go to paypal page from my website the order appears:
quantity 2
price 20$
Total 40$
whereas in the paypal account in the transaction details what appears is:
quantity 1
price 40$
total 40$
How can i solve this problem to have quantity 2 in paypal account?
i am using Paypal api set express check out:
Dim caller As New CallerServices
Dim profile As IAPIProfile = ProfileFactory.createSignatureAPIProfile()
'
' WARNING: Do not embed plaintext credentials in your application code.
' Doing so is insecure and against best practices.
' Your API credentials must be handled securely. Please consider
' encrypting them for use in any production environment, and ensure
' that only authorized individuals may view or modify them.
'
' Set up your API credentials, PayPal end point, and API version.
profile.APIUsername = AppSettings("APIUsername")
profile.APIPassword = AppSettings("APIPassword")
profile.APISignature = AppSettings("APISignature")
profile.Environment = AppSettings("Environment")
caller.APIProfile = profile
' Create the request object.
Dim pp_request As New SetExpressCheckoutRequestType()
pp_request.Version = AppSettings("APIVersion")
' Add request-specific fields to the request.
' Create the request details object.
pp_request.SetExpressCheckoutRequestDetails = New SetExpressCheckoutRequestDetailsType()
pp_request.SetExpressCheckoutRequestDetails.PaymentAction = paymentAction
pp_request.SetExpressCheckoutRequestDetails.PageStyle = color
'Enum for PaymentAction is PaymentActionCodeType.Sale
pp_request.SetExpressCheckoutRequestDetails.PaymentActionSpecified = True
pp_request.SetExpressCheckoutRequestDetails.OrderDescription = type
pp_request.SetExpressCheckoutRequestDetails.PaymentDetails = New PaymentDetailsType()
pp_request.SetExpressCheckoutRequestDetails.PaymentDetails.Custom = DateTime.Now.ToLongTimeString
Dim items(1) As PaymentDetailsItemType
Dim item1 As PaymentDetailsItemType = New PaymentDetailsItemType
item1.Name = dealName
item1.Number = OfferID
item1.Amount = New BasicAmountType()
item1.Amount.Value = price
item1.Amount.currencyID = currencyCodeType
item1.Quantity = qnt
items(0) = item1
pp_request.SetExpressCheckoutRequestDetails.PaymentDetails.PaymentDetailsItem = items
pp_request.SetExpressCheckoutRequestDetails.OrderTotal = New BasicAmountType()
pp_request.SetExpressCheckoutRequestDetails.OrderTotal.currencyID = currencyCodeType
'Enum for currency code is CurrencyCodeType.USD
pp_request.SetExpressCheckoutRequestDetails.OrderTotal.Value = paymentAmount
pp_request.SetExpressCheckoutRequestDetails.CancelURL = cancelURL
pp_request.SetExpressCheckoutRequestDetails.ReturnURL = returnURL
'' Execute the API operation and obtain the response.
Dim pp_response As New SetExpressCheckoutResponseType()
pp_response = DirectCast(caller.[Call]("SetExpressCheckout", pp_request), SetExpressCheckoutResponseType)
token = pp_response.Token
resp = pp_response
Return pp_response.Ack
End Function
The only discount option openly available for express checkout is a discount on shipping, but you could pass an item of negative value to work as a discount. I have an example below: