Support

Home Forums Event Espresso Premium Payment Pending from Payments made with Payfast

Payment Pending from Payments made with Payfast

Posted: August 28, 2018 at 12:33 pm


Rhema South

August 28, 2018 at 12:33 pm

Good Day Event Espresso Team,

We have been having an issue where once a payment is processed with PayFast, the user gets taken to the confirmation page, but the RGE status says payment pending… transaction status also shows as incomplete. I have taken a look at the support topics and none of the solutions for other users has worked for me. What would be the best way of moving forward to fix this issue? Definitely an issue with the IPN, but the IPN page seems fine and showing OK.


Tony

  • Support Staff

August 28, 2018 at 12:48 pm

Hi there,

Is this happening for all payment made using Payfast?

If you check the transaction after a few minutes, does it update to show the payment has been completed?


Rhema South

August 28, 2018 at 1:07 pm

This is happening for all payments on pay-fast. after checking a few minutes later it is still not updating.. test i did yesterday are still showing incomplete under the registrations tab.


Josh

  • Support Staff

August 28, 2018 at 3:19 pm

Hi,

You’ll need to contact Payfast for support as they’ve developed the Payfast integration and it’s not supported by Event Espresso.


Rhema South

August 29, 2018 at 1:40 am

I have checked with Payfast and everything seems to be fine from their side. I took a look at the logs, and it includes the IPN Data from Payfast. So the IPN is working and sending the data back, but it is not getting reflected in the registration details.. here is a link to the log with the IPN returned.

Link: https://drive.google.com/file/d/1NI9GDhOUMnS-13o-l-1tOvY8aCxy_Mit/view?usp=sharing


Rhema South

August 29, 2018 at 3:29 am

Ive have also just taken a look at the logs that parfait generate, and they show the IPN coming back tot he server. However there seems to be an issue updating the page? here is a working ITN Response:

2016-02-11 20:05:00 : PayFast ITN call received
2016-02-11 20:05:00 : Get posted data
2016-02-11 20:05:00 : PayFast Data: Array
(
[m_payment_id] =>
[pf_payment_id] => 4734216
[payment_status] => COMPLETE
[item_name] => 58-8-1-0bf6
[item_description] =>
[amount_gross] => 350.00
[amount_fee] => -17.84
[amount_net] => 332.16
[custom_str1] =>
[custom_str2] =>
[custom_str3] =>
[custom_str4] =>
[custom_str5] =>
[custom_int1] =>
[custom_int2] =>
[custom_int3] =>
[custom_int4] =>
[custom_int5] =>
[name_first] => TEST01
[name_last] => TEST01
[email_address] => TEST@gmail.com
[merchant_id] => xxxxxxxx
[signature] => xxxxxxxxxxxxxxxxxxxxx
)

2016-02-11 20:05:00 : Verify security signature
2016-02-11 20:05:00 : Signature = valid
2016-02-11 20:05:00 : PFString = m_payment_id=&pf_payment_id=4734216&payment_status=COMPLETE&item_name=58-8-1-0bf6&item_description=&amount_gross=350.00&amount_fee=-17.84&amount_net=332.16&custom_str1=&custom_str2=&custom_str3=&custom_str4=&custom_str5=&custom_int1=&custom_int2=&custom_int3=&custom_int4=&custom_int5=&name_first=TEST01&name_last=TEST01&email_address=TEST%40gmail.com&merchant_id=xxxxxxxx
2016-02-11 20:05:00 : Verify source IP
2016-02-11 20:05:00 : Valid IPs:
Array
(
[0] => 41.74.179.210
[1] => 41.74.179.211
[3] => 41.74.179.212
[4] => 41.74.179.200
[5] => 41.74.179.197
[6] => 41.74.179.218
[7] => 41.74.179.194
[8] => 41.74.179.217
[9] => 41.74.179.204
[10] => 41.74.179.195
[11] => 41.74.179.196
[12] => 197.97.145.156
[13] => 41.74.179.201
[14] => 41.74.179.203
)

2016-02-11 20:05:00 : Verify data received
2016-02-11 20:05:00 : Host = http://www.payfast.co.za
2016-02-11 20:05:00 : Params = m_payment_id=&pf_payment_id=4734216&payment_status=COMPLETE&item_name=58-8-1-0bf6&item_description=&amount_gross=350.00&amount_fee=-17.84&amount_net=332.16&custom_str1=&custom_str2=&custom_str3=&custom_str4=&custom_str5=&custom_int1=&custom_int2=&custom_int3=&custom_int4=&custom_int5=&name_first=TEST01&name_last=TEST01&email_address=TEST%40gmail.com&merchant_id=xxxxxxxx
2016-02-11 20:05:02 : Response:
VALID
2016-02-11 20:05:02 : Check data against internal order


Rhema South

August 29, 2018 at 3:34 am

and here is the current reply that is not working:
2018-08-29 09:16:29 : PayFast ITN call received
2018-08-29 09:16:29 : Get posted data
2018-08-29 09:16:29 : PayFast Data: Array
(
[m_payment_id] =>
[pf_payment_id] => 662383
[payment_status] => COMPLETE
[item_name] => 8962-79-1-e44e
[item_description] =>
[amount_gross] => 70.00
[amount_fee] => -2.30
[amount_net] => 67.70
[custom_str1] =>
[custom_str2] =>
[custom_str3] =>
[custom_str4] =>
[custom_str5] =>
[custom_int1] =>
[custom_int2] =>
[custom_int3] =>
[custom_int4] =>
[custom_int5] =>
[name_first] => TEST01
[name_last] => TEST01
[email_address] => TEST@gmail.com
[merchant_id] => xxxxxxxx
[signature] => xxxxxxxxxxxxxxxxxxxxx
)

2018-08-29 09:16:29 : Verify security signature
2018-08-29 09:16:29 : Signature = valid
2018-08-29 09:16:29 : PFString = m_payment_id=&pf_payment_id=662383&payment_status=COMPLETE&item_name=8962-79-1-e44e&item_description=&amount_gross=70.00&amount_fee=-2.30&amount_net=67.70&custom_str1=&custom_str2=&custom_str3=&custom_str4=&custom_str5=&custom_int1=&custom_int2=&custom_int3=&custom_int4=&custom_int5=&name_first=TEST01&name_last=TEST01&email_address=test%40mweb.co.za&merchant_id=xxxxxxxx
2018-08-29 09:16:29 : Verify source IP
2018-08-29 09:16:29 : Valid IPs:
Array
(
[0] => 41.74.179.210
[1] => 41.74.179.211
[2] => 41.74.179.194
[3] => 41.74.179.197
[4] => 41.74.179.212
[5] => 197.97.145.156
[6] => 41.74.179.196
[7] => 41.74.179.200
[8] => 41.74.179.203
[9] => 41.74.179.217
[10] => 41.74.179.201
[11] => 41.74.179.193
[12] => 41.74.179.218
[13] => 41.74.179.204
[16] => 41.74.179.195
[17] => 197.97.145.145
[18] => 197.97.145.150
[19] => 197.97.145.148
[20] => 197.97.145.149
)

2018-08-29 09:16:29 : Verify data received
2018-08-29 09:16:29 : Host = http://www.payfast.co.za
2018-08-29 09:16:29 : Params = m_payment_id=&pf_payment_id=662383&payment_status=COMPLETE&item_name=8962-79-1-e44e&item_description=&amount_gross=70.00&amount_fee=-2.30&amount_net=67.70&custom_str1=&custom_str2=&custom_str3=&custom_str4=&custom_str5=&custom_int1=&custom_int2=&custom_int3=&custom_int4=&custom_int5=&name_first=TEST01&name_last=TEST01&email_address=test%40mweb.co.za&merchant_id=xxxxxxxx
2018-08-29 09:16:30 : Response:
INVALID
2018-08-29 09:16:30 : Error occurred: Bad access of page


Tony

  • Support Staff

August 29, 2018 at 3:42 am

I have checked with Payfast and everything seems to be fine from their side.

Unfortunately, every provider will say exactly that when you ask them if everything is working on their end, if you contact PayPal and ask them if IPN’s are working… they will tell you yes… even if they are delayed by hours (yes we’ve seen that happen).

I took a look at the logs, and it includes the IPN Data from Payfast.

Which basically means, EE is receiving the IPN data and then passing it over to the PayFast payment method to do whatever it is supposed to do with it.

Payments are handled by payment methods, EE does receive some IPN data but then it simply calls the payment method that IPN is for and it does its thing, so it is likely the PayFast payment method, not EE.

So the IPN is working and sending the data back, but it is not getting reflected in the registration details..

As above, the Payment method (in this case the PayFast payment method) handles updating the payment object from the IPN data, you mentioned your payment details are not updating in the transaction, so again that points to the PayFast payment method as EE is logging the IPN data and then calling the PayFast payment method.

As we didn’t write the PayFast payment method, we can’t support it and currently, it looks like an issue with the payment method. The PayFast payment method creates its own log file within its own directory which you can use to narrow down the issue with PayFast support.


Tony

  • Support Staff

August 29, 2018 at 4:14 am

I had the page open before you added the two above replies but the error you are seeing in the non working log is from within the PayFast payment method.

2018-08-29 09:16:30 : Response:
INVALID
2018-08-29 09:16:30 : Error occurred: Bad access of page

Is from this code in the payment method:

//// Verify data received
if( !$pfError )
{
    pflog( 'Verify data received' );

    $pfValid = pfValidData( $pfHost, $pfParamString );

    if( !$pfValid )
    {
        $pfError = true;
        $pfErrMsg = PF_ERR_BAD_ACCESS;
    }
}

and it means pfValidData() returned INVALID when they validated the details EE received with the details payfast have on their server, meaning they are rejecting the payment.

This is something they need to investigate further, it’s not an issue with EE itself.

The support post ‘Payment Pending from Payments made with Payfast’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso