Thanks... I didn't know what logs to look at. A month later, I don't want to dig through logs to find it, so I did a test transaction now and here is the result:
Code:
2011-04-10 06:34:48
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp
Request Headers:
Array
(
[0] => Content-Type: text/namevalue
[1] => X-VPS-Timeout: 45
[2] => X-VPS-VIT-Client-Type: PHP/cURL
[3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart(tm) - PayPal/NVP
[4] => X-VPS-VIT-Integration-Version: 1.3.9f
)
Request Parameters: {SetExpressCheckout}
Array
(
[LOCALECODE] => CA
[PAYMENTACTION] => Sale
[ALLOWNOTE] => 1
[LANDINGPAGE] => Billing
[AMT] => 7,453.80
[RETURNURL] => https://www.FAKEDOMAIN.com/shop/ipn_main_handler.php?type=ec
[CANCELURL] => https://www.FAKEDOMAIN.com/shop/index.php?main_page=login&ec_cancel=1
[PAGESTYLE] => Primary
[METHOD] => SetExpressCheckout
[CURRENCYCODE] => HUF
[USER] => steven_api1.FAKEDOMAIN.com
[PWD] => ****************
[VERSION] => 60.0
[SIGNATURE] => ****************************************************guWU
)
Response:
Array
(
[TIMESTAMP] => 2011-04-10T05:34:49Z
[CORRELATIONID] => a11defd326e99
[ACK] => Failure
[VERSION] => 60.0
[BUILD] => 1824201
[L_ERRORCODE0] => 10401
[L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details.
[L_LONGMESSAGE0] => Order total is invalid.
[L_SEVERITYCODE0] => Error
[CURL_ERRORS] =>
)
SetExpressCheckout, Elapsed: 964ms -- Failure
And right away I think I see the problem. The amount is shown as having a decimal value, when that is not possible for this currency. However, the JPY does it correctly, as you can see with this test:
Code:
2011-04-10 06:39:33
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp
Request Headers:
Array
(
[0] => Content-Type: text/namevalue
[1] => X-VPS-Timeout: 45
[2] => X-VPS-VIT-Client-Type: PHP/cURL
[3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart(tm) - PayPal/NVP
[4] => X-VPS-VIT-Integration-Version: 1.3.9f
)
Request Parameters: {SetExpressCheckout}
Array
(
[LOCALECODE] => CA
[PAYMENTACTION] => Sale
[ALLOWNOTE] => 1
[LANDINGPAGE] => Billing
[AMT] => 3,474.00
[RETURNURL] => https://www.FAKEDOMAIN.com/shop/ipn_main_handler.php?type=ec
[CANCELURL] => https://www.FAKEDOMAIN.com/shop/index.php?main_page=login&ec_cancel=1
[PAGESTYLE] => Primary
[METHOD] => SetExpressCheckout
[CURRENCYCODE] => JPY
[USER] => steven_api1.FAKEDOMAIN.com
[PWD] => ****************
[VERSION] => 60.0
[SIGNATURE] => ****************************************************guWU
)
Response:
Array
(
[TOKEN] => EC-3J265139L9568884C
[TIMESTAMP] => 2011-04-10T05:39:34Z
[CORRELATIONID] => e3dee601dec49
[ACK] => Success
[VERSION] => 60.0
[BUILD] => 1824201
[CURL_ERRORS] =>
)
SetExpressCheckout, Elapsed: 891ms -- Success
So is it just a minor bug in the system where JPY was correctly set to eliminate any non-zero decimal value and HUF wasn't?
- Steven
Bookmarks