hi,
i am trying to integrate paypal sandox with my mvc project. I have enabled AutoReturn and ipn, i have disabled PDT.
After payment is made, in the auto-return page, i get
Request.HttpMethod --> GET
HttpContext.Request.ContentLength --> 0
Request.Form.Keys.Count --> 0
if i enable PDT also, i get the same result
can anyone please solve this
Loading
EMRANPosted Mar 7, 2011, 10:13 PM
<p>
<%
BuyNowButton myBuyNowButton = new BuyNowButton
{
BusinessEmailOrMerchantID = "[email protected]",
ItemName = ViewData["Item Name"].ToString(),
ItemNumber = "Scenery 123",
Quantity = Convert.ToInt32(ViewData["Quantity"]),
Amount = Convert.ToDecimal(ViewData["Price"]),
DiscountRate = 55
};
myBuyNowButton.PayPalFormSubmission.PostDestination =
FormSubmissionSettings.PostActionDestinations.PayPal_Sandbox;
myBuyNowButton.PayPalIPN.Custom_IPN_Url = "~/SellingSingleItem/HandleIPN";
myBuyNowButton.PayPalReturn.Custom_CompletedReturnURL = "~/SellingSingleItem/PayPalReturned";
myBuyNowButton.PayPalDisplayPage.ShippingAddress =
PayPalDisplayPageSettings.ShippingAddressOptions.ShippingAddressOptional;
myBuyNowButton.PayPalDisplayPage.HeaderBorderColor = Color.Red;
myBuyNowButton.PayPalDisplayPage.HeaderBgColor = Color.LightYellow;
myBuyNowButton.PayPalDisplayPage.PayFlowBgColor = Color.LightSteelBlue;
myBuyNowButton.PayPalDisplayPage.HeaderImageURL = "~/Content/images/SpiceLogicBanner.jpg";
myBuyNowButton.GenerateEncryptedButton = true;
myBuyNowButton.EncryptedButtonGeneration.CertificateId = "4YF8UM67EW";
myBuyNowButton.EncryptedButtonGeneration.PKCS12Password = "gah24352hi";
myBuyNowButton.EncryptedButtonGeneration.PayPalCertPath = "~/App_Data/paypal_cert_pem.txt";
myBuyNowButton.EncryptedButtonGeneration.PKCS12CertPath = "~/App_Data/my-cert.p12";
myBuyNowButton.AdditionalDataItems["Customer's Name"] = "James Paul";
%>
<%= myBuyNowButton.RenderForMVC() %>
p>
Here is the Action method for PayPalReturn / PDT
public ActionResult PayPalReturned()
{
PayPalReturnHandler myReturnHandler = new PayPalReturnHandler
{
PDTAuthenticationToken = "IoSLdmDHmJZ9K2K98vsv42SGSGXCB2DK",
NotifySyncDestination = FormSubmissionSettings.PostActionDestinations.PayPal_Sandbox
};
BuyNowReturnedEventArgs returnedData = myReturnHandler.GetBuyNowDataForMVC();
ViewData["pdtData"] = returnedData.PDT.ToString();
string greetingMsg = string.Format("Hello [{0}] !", returnedData.AdditionalDataItems["Customer's Name"]);
if (returnedData.IsPaymentCancelled)
{
ViewData["isPaymentCancelled"] = true;
greetingMsg += " Sorry, payment is cancelled";
}
else
{
ViewData["txnId"] = returnedData.TransactionID;
greetingMsg += "Thank you for the payment.";
ViewData["pdtStatus"] = returnedData.PDT.Status;
ViewData["isPaymentCancelled"] = false;
if (returnedData.PDT.Status == PayPalPDT.StatusCodes.SUCCESS)
{
ViewData["item_name"] = returnedData.ItemInfo.ItemName;
ViewData["item_number"] = returnedData.ItemInfo.ItemNumber;
ViewData["paid_amount"] = returnedData.PaymentInfo.McGross;
ViewData["quantity"] = returnedData.ItemInfo.Quantity;
ViewData["buyerLastName"] = returnedData.BuyerInfo.LastName;
ViewData["addressCity"] = returnedData.BuyerInfo.ShippingAddress.City;
ViewData["charset"] = returnedData.CharSet;
ViewData["paymentStatus"] = returnedData.PaymentInfo.PaymentStatus;
ViewData["discount"] = returnedData.PaymentInfo.DiscountAmount;
}
}
ViewData["returnMessage"] = greetingMsg;
return View();
}