我有一个 Web 应用程序配置为使用带有托管结帐页面和 SecureToken 的 PayFlow Pro。它目前处于测试模式,我已将帐户(通过PayPal 管理器)配置为使用 FULL AVS,但是当我使用无效的测试 ZIP (> 50000) 付款时,我看到 AVSZIP 标志在来自 PayFlow 的响应,但交易被批准,RESULT 为 0,RESPMSG 为“已批准”。当我检查PayPal Manager上的交易分类账时,该分类账也显示了已批准的成功交易(具有讽刺意味的是,它还显示了 AVS Zip Match 的“N”)
我从在线帮助文档中的理解是,当 AVS 设置为 Full 时,PayPal 将使交易无效并且买家拒绝(这是我正在寻找的行为),但这不是我所看到的。我确实在 Payflow Gateway 开发人员指南(最后更新于 2013 年 2 月 7 日)中注意到有关 AVS 的以下声明:
地址验证服务将提交的账单街道地址和邮政编码与持卡人银行存档的值进行比较。响应包括 AVSADDR 和 AVSZIP 的值:Y、N 或 X,表示客户街道地址和邮政编码的匹配状态。Y = 匹配,N = 不匹配,X = 持卡人银行不支持地址验证服务。地址验证服务结果仅供参考。银行不会根据地址验证服务结果拒绝交易。商家决定批准或拒绝交易。大多数美国银行和一些国际银行都支持地址验证服务。
但是,这似乎与在线帮助文档相矛盾。
下面是来回发布的请求和响应数据。我省略了中间 POST 并重定向到 payflowlink.paypal.com,因为其中包含的只是 SecureTokenID 和 SecureToken。
有人可以阐明我可能做错了什么吗?我对 Pilot-payflowpro.paypal.com 的初始请求中的值是否缺失或不正确?除了这个问题,一切都很好,完全符合我的预期。
到https://pilot-payflowpro.paypal.com:
Mode=TEST&CreateSecureToken=Y&SecureTokenID=1508D489FD8F4A0BB47CA541D7191427&User=########&Vendor=#######&Partner=PayPal&Pwd=#######&TrxType=S&Tender=C&FirstName=Test&LastName=User&Address=101 N. Wacker Dr.&City=Chicago&State=IL&Zip=60606&Country=US&Phone=312-000-0000&Email=test.user@testdomain.com&Amt=160.00&Currency=USD&User1=276&User2=C161168&Comment1=Tampa Spring Regional Training Event&Comment2=Current User PersonID: 690399, Effective Current User PersonID: 690399&CancelURL=http://localhost:5527/PaymentQueue/Registration/ProcessPayPalCancel&CSCRequired=True&CSCEdit=True&DisableReceipt=True&Template=TEMPLATEA&ErrorURL=http://localhost:5527/PaymentQueue/Registration/PaymentError&ReturnURL=http://localhost:5527/PaymentQueue/Registration/ProcessPayPalResponse&URLMethod=POST
来自https://payflowlink.paypal.com:
AVSZIP=N&STATE=IL&TYPE=S&BILLTOEMAIL=test.user@testdomain.com&USER2=C161168&ACCT=4444&PROCCVV2=M&BILLTOLASTNAME=User&BILLTONAME=Test+User&CVV2MATCH=Y&LASTNAME=User&PNREF=V78A4A45A75A&TENDER=CC&EMAIL=test.user@testdomain.com&PHONE=312-000-0000&METHOD=CC&BILLTOFIRSTNAME=Test&AMT=160.00&SHIPTOCOUNTRY=US&TRANSTIME=2013-04-05+07%3A47%3A38&ZIP=60606&AUTHCODE=031PNI&BILLTOCOUNTRY=US&EXPDATE=1213&IAVS=N&RESPMSG=Approved&COUNTRY=US&BILLTOZIP=60606&BILLTOCITY=Chicago&TAX=0.00&BILLTOSTATE=IL&CARDTYPE=1&FIRSTNAME=Test&AVSDATA=YNY&PROCAVS=A&SECURETOKEN=#########&SECURETOKENID=1508D489FD8F4A0BB47CA541D7191427&AVSADDR=Y&CITY=Chicago&BILLTOPHONE=312-000-0000&NAME=Test+User&USER1=276&HOSTCODE=A&COUNTRYTOSHIP=US&BILLTOSTREET=101+N.+Wacker+Dr.&RESULT=0&ADDRESS=101+N.+Wacker+Dr.