2011-07-02 3 views
6

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 đề.

Trả lời

7

Cho bất kỳ ai khác tình cờ gặp câu hỏi này sau. Tôi đã giải quyết nó. Khi người dùng quay trở lại trang web của bạn sau khi xác nhận thanh toán trên paypal, bạn vẫn phải gửi yêu cầu DoExpressCheckoutPayment tới máy chủ paypal để nhận được thanh toán để xử lý.

Bạn sẽ cung cấp PayerID và TOKEN cho DoExpressCheckoutPayment để xử lý. PayerID được nối vào URL của RETURNURL của bạn hoặc có thể được truy xuất bằng cách gọi GetExpressCheckoutDetails bằng TOKEN.

+0

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

0

Tôi gặp phải vấn đề tương tự khi tôi tích hợp pal trả tiền và có vẻ như đã có một số sửa đổi trong hệ thống của họ.

nếu bạn truy cập tài khoản người mua, bạn có thể thấy thanh toán của mình ở trạng thái đang chờ xử lý và được chấp thuận sau một vài ngày, cùng một hành vi cho tài khoản người bán.

+0

Tôi không thấy bất kỳ khoản thanh toán đang chờ xử lý nào trên một trong hai tài khoản –

+0

là số tiền được trừ từ tài khoản người mua và được thêm vào tài khoản người bán? –

+0

Không, cả hai đều có số dư tương tự mà tôi đã bắt đầu. –