Я скачал .NET SDK для шлюза Payflow и следовал этим инструкциям при настройке моей тестовой учетной записи шлюза Payflow, затем изменил две строки DOSecureTokenAuth.cs, User и Connectionпеременные:
UserInfo User = new UserInfo("myacctname", "myacctname",
"PayPal", "passwd");
PayflowConnectionData Connection = new PayflowConnectionData(
"pilot-payflowpro.paypal.com", 443);
Когда я запускаю DOSecureTokenAuth.cs, открывается окно командной строки со словами:
------------------------------------------------------
Executing Sample from File: DOSecureTokenAuth.cs
------------------------------------------------------
RESULT = 0
RESPMSG = Approved
SECURETOKEN = 3BZVLoht6cESPxMkScSau4g4l
SECURETOKENID = 9e09209a562b43739dd5d1a44a3e2d73
DUPLICATE =
Transaction was successful.
The next step would be to redirect to PayPal to display the hosted
checkout page to allow your customer to select and enter payment.
This is only a simple example, which does not take into account things like
RETURN or SILENT POST URL, etc.
Press <Enter> to redirect to PayPal.
Transaction Successful.
Press Enter to Exit ...
Явно успешно.Ура.Однако следующий шаг, перенаправляющий пользователя на страницу размещенных платежей PayPal, всегда завершается с ошибкой:
Some required information is missing or incorrect. Please correct the fields below and try again.
Error: An error has occurred. Please contact the system administrator.
В документах шлюза Payflow говорится, что я должен отправить SECURETOKENID и SECURETOKEN на http://payflowlink.paypal.com (даже если вы хотите использовать Payflow PRO ???), и вот пример моей попытки (ниже приведен GET, но POST завершается с ошибкой так же):
https://payflowlink.paypal.com/?securetoken=3BZVLoht6cESPxMkScSau4g4l&securetokenid=9e09209a562b43739dd5d1a44a3e2d73&MODE=test&USER1=testuser1&ACCT=5105105105105100&EXPDATE=1212&CVV2=123
Я даже сделал симпатичную маленькую HTML-страницу формы на основе приведенного выше примера PHP:
<form method='post' action='https://payflowlink.paypal.com/'>
<input type='text' name='SECURETOKEN' value='3BZVLoht6cESPxMkScSau4g4l' />
<input type='text' name='SECURETOKENID' value='9e09209a562b43739dd5d1a44a3e2d73' />
<input type='hidden' name='MODE' value='test' />
<input type='submit' />
</form>
И, как и ожидалось, он умер с той же неопределенной ошибкой, которая подразумевает, что я неправильно настроил свой аккаунт.Я не указал реальную финансовую информацию, потому что эта учетная запись является тестовой учетной записью разработчика, не предназначенной для использования на действующем сайте, но если я правильно прочитал документы, это ожидаемый способ сделать это.
Поскольку я предполагаю, что это конфигурация, моя учетная запись настроена со следующими настройками:
PayPal Express Checkout = Enabled
PayPal Email Address and PayPal Sandbox Email Address are configured and going to the same address
Show Confirmation Page = On a PayPal hosted page
Use Silent Post = No
Send email = Yes
AVS Check = No
CVC Check = No
Enable Secure Token = Yes
Помощь!Что вызывает смутную ошибку?!