# Paypal Payment issues Help Center ## Paypal payment problems Description * The seller only accepts payments on encrypted websites. You cannot pay the seller through unencrypted buttons * This invoice has already been paid. For more information, contact the merchant Payment cannot be processed. Please contact the merchant as the shipping address provided by the merchant is invalid and the merchant has requested that your order be shipped to that address. * No payment notification/order confirmation email received after payment * invalid IP * Connection to Paypal failed * invalid transaction * invalid answer * unhandled notification * invalid amount * Pending payment ## Paypal Troubleshooting: Payment Integration Issues There are a number of reasons why you may not be able to accept payments or process refunds through ScheduleOnce. This article describes possible problems with payment integration and how they can be fixed. ### You can't accept payments If you are unable to accept payments via ScheduleOnce, you should check for errors related to the connected PayPal account. Errors can occur for the following reasons. ### Your account is disconnected from PayPal If your account is disconnected from PayPal, your Billing Agreement may have been revoked or the permissions granted to ScheduleOnce in your PayPal account may have been terminated. To fix this, check the connected PayPal account and reconnect in ScheduleOnce. ### Your PayPal account is frozen Your PayPal account may be limited or frozen for security reasons at PayPal. You can sign in to your PayPal account to understand why your account is limited. Account limitations prevent ScheduleOnce from completing certain actions, such as sending or receiving money. ### Removed the currency set in the event type from your PayPal account If you have removed the currency set in the Event type from your PayPal account, it will affect the collection of rescheduling fees when the Customer attempts to reschedule. Since the rescheduling fee currency does not exist in PayPal, rescheduling will not be possible. ### Encountered problems with the PayPal connection ScheduleOnce may not be able to confirm the transaction due to errors with the PayPal connection. In this case, the Client will not be able to make a reservation. ### Refunds cannot be processed If refunds cannot be processed, you should check for errors related to your refund settings, booking page owner/publisher, or the specific transaction. This can happen for the following reasons: ### Your ScheduleOnce account cannot process refunds through ScheduleOnce If your ScheduleOnce account is unable to process refunds through ScheduleOnce, you must change your Refund settings to allow processing of refunds through ScheduleOnce. The Booking Page Owner or Publisher does not have permission to issue refunds through ScheduleOnce Check each user's profile to make sure the Booking Page Owner or Publisher has permission to refund via ScheduleOnce. Transactions older than 60 days cannot be refunded Refunds are limited to 60 days by default in your PayPal account and no refunds can be made after the limit. If you still want to refund old transactions, you must contact PayPal to extend the transaction refund limit. There are not enough funds in the PayPal account If there are insufficient funds in your PayPal account, you will not be able to process refunds for that specific transaction. Check your PayPal account. ### The seller only accepts payments on encrypted websites. You cannot pay the seller through unencrypted buttons This error is displayed because your PayPal account profile is configured to only accept "encrypted" button payments, however your item button code is "not" encrypted. This condition interrupts the payment process and displays the error message. **To disable this option:** **1.** Sign in to your PayPal account. **2.** Click the "Profile" tab or the "Edit Profile" link. **3.** Under "Selling Preferences", select "Website Payment Preferences". **4.** In the section titled "Encrypted Website Payments", select "Disable". **5.** Click "Save". Encrypted buttons are not useful for HikaShop as other security is implemented. hikashop checks the payment amount when receiving the paypal payment notification, so even if someone tries to change the amount to be paid for an order, hikashop will detect it and reject the payment. So you don't have to worry, you can disable that option in your PayPal account. ### This invoice has already been paid. For more information, contact the merchant Paypal may report an order as already paid if you have received an identical invoice number in the past. That can happen when, for example, you were already using another eCommerce solution before switching to HikaShop with your PayPal account. **There are a couple of ways to solve this problem:** **In your Paypal account:** * Sign in to your PayPal business account at paypal.com. * Click the profile icon (Profile menu) at the top of the page, and then select Profile & Settings from the Business Profile menu. Click My Selling Tools. * Note: If you don't see the profile icon at the top of the page, click Profile, which appears in the top menu when the My Account tab is selected, and then click My Selling Tools. * Click Update next to Block payments in the Get paid and manage my risk section. * Scroll down the page to the Block accidental payments setting and select "No, allow multiple payments per invoice ID". **Scroll to the bottom of the page and click Save. On the HikaShop side:** Open your phpmyadmin (a tool provided by your hosting company to manage your database) and select your database. There, increase the auto_increment value of the hikashop_order table by running a query like this: That query will result in your orders order id starting at 100000. That way you won't conflict with another eCommerce app using your PayPal account with order ids starting at 0 like HikaShop's does. default way. Note that if you use a table prefix other than jos_, you must change it to your table prefix in the query. **Payment cannot be processed.** Please contact the merchant as the shipping address provided by the merchant is invalid and the merchant has requested that your order be shipped to that address. **Payment cannot be processed.** Please contact the merchant as the shipping address provided by the merchant is invalid and the merchant has requested that your order be shipped to that address. This error will be displayed when there is a problem with the address sent by HikaShop to PayPal. Firstly, this can happen if you unpublished some of the default custom address fields via the Show->Custom Fields menu while you still had the "No Address" option disabled in the PayPal plugin. So either republish the fields or enable that option. Also, sometimes changing the "address override" option from the PayPal plugin options can resolve the issue. ### No payment notification/order confirmation email received after payment After an order, PayPal contacts HikaShop to inform HikaShop that the payment has been received. At that point, you should receive a payment notification from HikaShop as the store owner (and the user an email confirming their order). If it doesn't then it may come from one of these points: * Your website is on localhost (ie not accessible from the internet). PayPal can only send payment notifications to HikaShop if your website is accessible from the outside. * Your website is protected by an .htaccess that only allows access when the correct username/password is entered. PayPal does not know the username/password from your .htaccess and therefore cannot communicate with HikaShop. * You changed your .htaccess file to add rules to increase the security of your website and do not allow PayPal's servers to send the notifications. You should try removing them to see if it works. * Your website is under maintenance and is only accessible to users with an administrator account. PayPal will not be able to contact HikaShop because Joomla will not authorize it. * In the same way, the payment menu is not accessible to users who are not logged in. * PayPal's "allow paypal payment notifications" option is disabled. You should turn it on. * You changed the IP addresses in the PayPal IP addresses option of the PayPal plugin. Leave this field empty. * It has a security component that prohibits scripts from communicating with your website. You should request a solution from your security component provider. * Check the payment itself in your PayPal merchant account. They may be pending, waiting for your approval. This can be for a number of reasons (a different currency than the one you've used so far, your PayPal account set to manually approve payments, etc.). * Apparently MobileJoomla redirects payment requests and loses POST data in the process. * Your HikaShop menus do not have the public access level. Because of that, PayPal's servers cannot access your store to notify HikaShop of the payment. You need to set the "force a menu at checkout" setting in a public menu that while your product categories/listings are not accessible to your users, PayPal will be able to notify HikaShop. * Make sure the Public access level of your PayPal payment method is checked; otherwise, access to the notification to PayPal will be denied (Business edition only). Please make sure that the payment is accepted in your PayPal account. If automatic payment validation is not activated in your PayPal account, PayPal will not send the payment notification to HikaShop and your orders will not be confirmed! Verify that your PayPal merchant account is set up to send UTF8 payment notifications as explained here: https://simple-membership-plugin.com/setting-utf-8-formatting-for-your-paypal-ipn-messages / ## What to do next if you still can't receive your payment notifications? * That's where it gets difficult. You must activate the debugging option of your payment plugin and process a new order. Then look at your payment log file in the Files tab of the settings. Traces of what happened when the payment plugin was activated will be written. * If the file is empty, it means something blocked the notification before it got to HikaShop. In that case, you should look in your website access log for the paypal plugin notification URL: index.php?option=com_hikashop&ctrl=checkout&task=notify&notif_payment=paypal * On the same line you should get the status of the request. If it's a 303 or 301, it means something else on your website redirected the request before it got to HikaSop (most likely a system plugin). ### invalid IP PayPal can change or add IP addresses for their servers when they need to handle more transactions. When your server receives a notification of a different IP than the paypal IPs listed in the paypal payment plugin options, you will automatically receive an email to your paypal address informing you of this. You can update this list of IP addresses by clicking the link below. If paypal actually added new IP addresses, you should see them appear here. Otherwise, if you are sure that the IP the notification is coming from is a valid PayPal IP, you can add it to the list manually. If the notification came from someone else, it could be an attempted attack (if the payment hasn't been received in your PayPal account, for example), in which case you can ignore it as it was blocked by the system. Finally, you can always disable this feature by removing all IP addresses from the list and saving your PayPal payment method options. You can always retrieve PayPal IP addresses later to reactivate the feature. ### connection to paypal failed When your server receives a notification, you must first confirm if this notification comes from your payment gateway or not, because it is always possible that a valid IP address was injected and someone else is trying to validate an order. Therefore, there is a mechanism to communicate with a PayPal server that HikaShop knows as an official PayPal server to confirm that it comes from PayPal. If this connection fails, that means either your hosting company is blocking outgoing connections from your server or you don't have the openssl option enabled in your PHP configuration or PayPal's servers are down, the latter being much less likely. Therefore, you should verify that your website can make outbound connections and that SSL is enabled. In addition, we recommend that you contact your hosting provider to ask about their policies on outgoing connections. If they are not being blocked, you may want to contact us via our forum as we may need to adapt our plugin to a PayPal change. ### invalid transaction When your server receives a notification, you must first confirm if this notification comes from your payment gateway and not from another person who tried to validate your order. Therefore, there is a mechanism to communicate with a PayPal server that HikaShop knows as an official PayPal server to confirm that it comes from PayPal. If paypal returns an invalid status, it means that the notification did not come from paypal, so the notification was dismissed. Therefore, you can ignore the email you received. ### invalid answer When your server receives a notification, you must first confirm if this notification comes from your payment gateway and not from another person who tried to validate your order. Therefore, there is a mechanism to communicate with a PayPal server that HikaShop knows as an official PayPal server to confirm that it comes from PayPal. If paypal returns an unknown response format, it's possible that paypal has changed their notification system (highly unlikely), so you can contact us via our forum as we may need to adapt our plugin. ### unhandled notification The paypal notification may have a status not handled by HikaShop. In that case, HikaShop will notify you by email and stop processing the notification. ### invalid amount It may happen that the amount paid is different from the amount of the order. In that case, the order status will change to the invalid status that you can set in the PayPal payment plugin options. The "Send order details" option may generate an invalid amount. Paypal could not round the final price like HikaShop (which rounds only the final price and not the prices of the products). Therefore, this option can generate small differences in price (1 cent). At this time we recommend that you disable the option to solve the problem. ### Pending payment A pending notification means that the customer entered their payment information but PayPal has not yet been able to receive the funds. In that case, we strongly recommend that you check your PayPal account, order information and maybe contact your customer and decide yourself what to do with the order.