Tôi đang tạo trang web thương mại điện tử và tích hợp paypal dường như đang hoạt động. Tôi có một giỏ mua hàng, tổng cộng tất cả các mặt hàng bên trong, thêm giá vận chuyển và sau đó gửi số đó ra để paypal với những dòng này.Tại sao Hộp cát Paypal không xử lý thanh toán?
string address = "https://api-3t.sandbox.paypal.com/nvp?USER=<username>&PWD=<password>&VERSION=71.0&SIGNATURE=<signature>&METHOD=SetExpressCheckout&PAYMENTREQUEST_0_AMT=" + lblTotal.Text + "&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://www.secretskeletonminiatures.com/checkout.aspx&CANCELURL=http://www.secretskeletonminiatures.com/cart.aspx&PAYMENTREQUEST_0_PAYMENTACTION=Sale";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
Sau đó, tôi kéo trong phản hồi từ paypal với một HttpWebResponse và phân tích ra các dấu hiệu và chuyển hướng người dùng đến
Response.Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=" + token);
Khi người dùng được cho paypal sau đó đăng nhập và nhấn phím "Pay Now" và được chuyển hướng đến trang thanh toán của trang web của tôi.
Vì vậy mọi thứ có vẻ ổn. Nhưng khi tôi kiểm tra tài khoản sandbox, không có tiền nào thực sự được chuyển.
Nguyên nhân phổ biến nhất là tham số useraction = commit bị thiếu trong url chuyển hướng nhưng nó ở đó để không phải là vấn đề.
Tôi đã gọi 'DoExpressCheckoutPayment' sau khi được chuyển hướng đến url thành công. Tôi lấy lại các chi tiết thanh toán và nó cho thấy rằng 'CHECKOUTSTATUS' là' PaymentActionCompleted' nhưng khi tôi kiểm tra bảng điều khiển không hiển thị trong tab giao dịch. – kapitanluffy