paypal live not working

Using Dolphin 6.1.4.


When I setup a paypal sandbox I am able to buy an upgrade for a test account and move it from 'standard' to a 'premium' account with no issues.  However, when I test it with a live paypal transfer, this upgrade fails.  If I look in the database table Transactions, I can see that the row for the transaction is still set to Pending.


What I'm noticing is that in the database for this row, the gtwTransactionID is a hash with the a timestamp of when the transaction started (in the initiateTransaction() function in checkout.inc.php).  But when paypal sends information about the completed transaction to my server, it is saying the txn_id is something different.  In finishTransaction() in checkout.inc.php, it is only looking for rows where the gtwTransactionID is txn_id, which it won't find because that column is still the timestamp hash.


Is this a bug or am I doing something wrong?


The following is the debug log for a live test:






----------- start log -----------

Debug started at Saturday 21st 2009f February 2009 01:49:46 PM
PayPal checkout external call: --------------
Conf: Array
ID: 1
Name: paypal
Caption: PayPal
Active: 1
Mode: live
Debug: 1
CheckoutFilename:
CheckoutURL:
SupportsRecurring: 1
Param_auth_token:
Param_business: [merchant]@[addr].com
Param_connection_type: SSL
Param_no_note: 1
Param_process_type: IPN
Param_test_business: [merchant_test]@[addr].com
GET: Array
POST: Array
transaction_subject: b45fa0982e9fdd49d565ebaae755e534
payment_date: 10:47:15 Feb 21, 2009 PST
txn_type: web_accept
last_name: Buyer
residence_country: US
item_name: Membership purchase - Premium
payment_gross: 1.00
mc_currency: USD
business: [merchant]@[addr].com
payment_type: instant
protection_eligibility: Ineligible
verify_sign: AiPC9BjkCyDFQXbSkoZcgqH3hpacATu12UiWNiq9Yo0MRsjWFEO7GKC3
payer_status: verified
tax: 0.00
payer_email: [buyer]@[addr].com
txn_id: 6CY23174JS752964F
quantity: 1
receiver_email: [merchant]@[addr].com
first_name: Michael
payer_id: 84V424A3263XJ
receiver_id: 2NAUY3LR6XJCS
item_number: 13
handling_amount: 0.00
payment_status: Completed
payment_fee: 0.33
mc_fee: 0.33
shipping: 0.00
mc_gross: 1.00
custom: b45fa0982e9fdd49d565ebaae755e534
charset: windows-1252
notify_version: 2.7
Payment event: Payment start. Subscriptional: false
Direct/IPN validation for transaction: Array
transaction_subject: b45fa0982e9fdd49d565ebaae755e534
payment_date: 10:47:15 Feb 21, 2009 PST
txn_type: web_accept
last_name: Buyer
residence_country: US
item_name: Membership purchase - Premium
payment_gross: 1.00
mc_currency: USD
business: [merchant]@[addr].com
payment_type: instant
protection_eligibility: Ineligible
verify_sign: AiPC9BjkCyDFQXbSkoZcgqH3hpacATu12UiWNiq9Yo0MRsjWFEO7GKC3
payer_status: verified
tax: 0.00
payer_email: [buyer]@[addr].com
txn_id: 6CY23174JS752964F
quantity: 1
receiver_email: [merchant]@[addr].com
first_name: Michael
payer_id: 84V424A3263XJ
receiver_id: 2NAUY3LR6XJCS
item_number: 13
handling_amount: 0.00
payment_status: Completed
payment_fee: 0.33
mc_fee: 0.33
shipping: 0.00
mc_gross: 1.00
custom: b45fa0982e9fdd49d565ebaae755e534
charset: windows-1252
notify_version: 2.7
Direct/IPN reply lines: Array
0:

----------- end log -----------






And here is what the row in the Transactions table looks like for this payment (before and after payment the row is unchanged):






----------- start row -----------

ID        15
IDMember        1
IDProvider        1
gtwTransactionID        12352438318591
Date        2009-02-21 14:17:11
Amount        1
Currency        USD
Status        pending
Data        1|membership|1.00|seN3G.jp/dmjk|USD|4|seJxu1QW0Wn....
Description        Membership purchase - Premium
Note        NULL

----------- end row -----------






Any help would be appreciated, thanks.

Quote · 21 Feb 2009

Ok I figured it out.



For some reason during the verification process paypal was not returning "VERIFIED" or "INVALID", it was just blank. So moduleValidateTransaction() would just fail out with error code 2.

This seemed to only happen if it was using SSL. If I changed it to use TCP it worked fine. So I just edited that file and forced it to always use TCP. There's not really any sensitive info in that packet stream anyway so it should be safe.

Automatic account upgrading works fine now. Weird error...

Quote · 21 Feb 2009
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.