好吧,我已经用头撞墙两个小时了,我以为这是通过NVP打给PayPal的一个简单电话。我试过所有的方法,但它一直告诉我,由于内部错误,它没有告诉我做错了什么,所以没有成功。
伟大而睿智的网络绝地,请指引这位任性的学徒吧?提前感谢:)
(
[TIMESTAMP] => 2013-07-07T09:37:28Z
[CORRELATIONID] => f2e28b7dcf9fb
[ACK] => Failure
[VERSION] => 53.0
[BUILD] => 6680107
[L_ERRORCODE0] => 10001
[L_SHORTMESSAGE0] => Internal Error
[L_LONGMESSAGE0] => Internal Error
[L_SEVERITYCODE0] => Error
[AMT] => 232.15
[CURRENCYCODE] => USD
)
以下是NVP调用的内容:
METHOD=DoDirectPayment
VERSION=53.0
PWD=1371372778
USER=xxx
SIGNATURE=xxx
PAYMENTACTION=Sale
IPADDRESS=xxx
AMT=232.15
CREDITCARDTYPE=VISA
ACCT=4111111111111111
EXPDATE=072016
FIRSTNAME=Harvey+Brooks
LASTNAME=-
STREET=3443+Padaro+Lane
CITY=Malibu
STATE=CA
COUNTRYCODE=US
CURRENCYCODE=USD
SHIPPINGAMT=0.00
CVV2=123
EMAIL=xxxx
PHONENUM=7022403735
SHIPTONAME=Some Dude
SHIPTOSTREET=90210+S+Bend
SHIPTOSTREET2=STE+120
SHIPTOCITY=Las+Vegas
SHIPTOSTATE=NV
SHIPTOCOUNTRYCODE=US
SHIPTOPHONENUM=xxx
L_NAME0=100+ANOS%C2%AE+
L_NUMBER0=19
L_QTY0=1
L_TAXAMT0=0
L_AMT0=29.69
L_NAME1=Chivas+Regal
L_NUMBER1=69
L_QTY1=2
L_TAXAMT1=0
L_AMT1=51.29
L_NAME2=Wild+Turkey
L_NUMBER2=34
L_QTY2=1
L_TAXAMT2=0
L_AMT2=29.69
L_NAME3=Patr%C3%B3n+Silver+
L_NUMBER3=23
L_QTY3=1
L_TAXAMT3=0
L_AMT3=70.19
ITEMAMT=232.15
TAXAMT=0
VISA
4066901366000455
cvv=123exp-date=某个未来日期
$version=urlencode('51.0');
尝试这些设置
$nvpStr="&PAYMENTACTION=$paymentType&AMT=$amount&CREDITCARDTYPE=$CREDITCARDTYPE&ACCT=$creditCardNumber"。"&EXPDATE=$padDateMonth$expDateYear&CVV2=$cvv2Number&FIRSTNAME=$FIRSTNAME&LASTNAME=$LASTNAME"。"&STREET=$address1&CITY=$CITY&STATE=$STATE&ZIP=$ZIP&COUNTRYCODE=$country&CURRENCYCODE=$currencyID";