Using the Simple Paid Listings plugin you can charge a single fee in order to list a job on your site using either Stripe or PayPal to collect the funds.
↑ Back to Top Installation
To install this plugin, please refer to the guide here: http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation
↑ Back to Top Setup
After installation head over to Job Listings > Settings > Paid Listings to configure your paid listings + gateways.
- Listing Cost – Enter the cost of new listings, excluding any currency symbols. E.g. 9.99
- Currency Code – Enter your desired currency. For US Dollars you’d enter ‘USD’. For British Pounds Sterling you’d enter ‘GBP’. Your chosen gateway (below) must support your chosen currency for it to work!
- Payment Gateway – Choose either ‘Stripe Checkout’ or ‘PayPal Standard’ as your chosen gateway. You’ll need a merchant account with your chosen gateway.
- Test Mode – Enable if your Stripe account is in test mode rather than production.
- Secret Key – Integration API Keys are obtained from Stripe. Test mode requires test keys (prepended with sk_test_).
- Publishable Key – Integration API Keys are obtained from Stripe. Test mode requires test keys (prepended with pk_test_).
- Stripe has more information about using their testing mode here: https://stripe.com/docs/testing
- PayPal Email – Your sellers PayPal email address.
- PayPal Identity Token – Optionally (but recommended) enable “Payment Data Transfer” (Profile > Website Payment Preferences) and then copy your identity token here. This will allow payments to be verified without the need for PayPal IPN.
- Note: If you do not set up PDT, all payments will be marked as ‘on hold’ until they are manually approved.
- PayPal Sandbox – Enable PayPal Sandbox (used for testing). No live payments are taken when sandbox is enabled. You can read more about Sandbox mode here: https://developer.paypal.com/docs/classic/lifecycle/sandbox/
↑ Back to Top Job Submission Flow
Up to the point of previewing your job, the flow is the same. However, on the preview page you will notice that the ‘confirm’ button is renamed to ‘pay for listing’. This is where the magic happens.
With Stripe Checkout
Clicking “pay for listing” will open the payment page and prompt the user for payment.
Once submitted, the page will automatically proceed. On successful payment the job will be marked paid and live/awaiting admin approval (depending on your settings). On failure, the preview page will be shown again with an error message letting the user retry if they wish.
With PayPal Standard
Clicking “pay for listing” will redirect the user straight to the PayPal payment page off-site. After payment the user will be redirected back through PayPal’s Auto Return.
Upon return, the confirmation page will be displayed. If you configured “Payment Data Transfer (PDT)” in the settings, the job should be marked paid immediately. Otherwise, the PayPal IPN should be used and PayPal will notify your site of payment.
PayPal IPN can fail in some hosting environments due to plugins, blocked ports and firewalls – “Payment Data Transfer” is recommended as it can be more reliable.
Note that when setting up PayPal, you will need a valid URL in the Return URL to enable Auto Return (which needs to be enabled), but since Simple Paid Listings provides both a return URL and notify URL (IPN) to PayPal, whatever you enter in your PayPal setting is ignored. Therefore, we recommend that you use your homepage URL for the return URL.
↑ Back to Top Security/HTTPS
If using Stripe Checkout, even though credit card details are never stored or transmitted directly from your server (stripe.js hashes them) it is still recommending that you setup your Job Submission page to be served over HTTPS.
WordPress HTTPS plugin will help you do this – its an excellent plugin which can make any WordPress page secure (you’ll of course still need to buy and setup an SSL certificate from your hosting provider).
↑ Back to Top Troubleshooting
Note that Simple Paid Listings is not designed to be used at the same time as WooCommerce Paid Listings. If you try to use both, you will encounter unexpected behaviour.