Skip to content

Accepting Payments with QuickPay

The QuickPay add-on lets your clients pay for their photo orders through your QuickPay account. QuickPay is a Danish payment service used widely in Denmark and across the Nordic countries and Europe, so it's a good fit if you already have a QuickPay account or your bank or card company works with it.

Countries and Currencies

QuickPay works with many currencies, including Danish, Swedish and Norwegian kroner, euros, pounds and US dollars. Which ones you can actually take depends on the card company or bank connected to your QuickPay account (QuickPay calls it an acquirer).

Sunshine charges each order in your store currency, set in Sunshine > Settings > General. Make sure your QuickPay account can take that currency.

Some currencies don't use cents or øre, like Japanese yen, Icelandic króna and Korean won. Sunshine sends those amounts to QuickPay as whole numbers, so a 2,200 yen order is charged as 2,200 yen. This is handled for you for payments, captures and refunds.

Installing the Add-on

QuickPay is included in the Plus and Pro plans.

Your license keys are in Account > Licenses. More help is in License Keys.

Getting Your QuickPay Keys

Sunshine needs three things from your QuickPay account. All of them are in the QuickPay Manager.

  1. Log in to the QuickPay Manager
  2. Go to Settings > Integration
  3. Copy your Merchant ID, the number for your QuickPay account
  4. Click the key icon next to your account to show the Private key, and copy it
  5. Under the users listed on the same page, click the key icon for your API user to show its API key, and copy it

Use the API user's key, not the Payment Window user's key. Sunshine uses this key to start payments and to capture and refund them later, so it needs a user that's allowed to do all of that.

The Private key and API key are different keys, and Sunshine needs both. Keep them private, since they give access to payments on your account.

Settings

Go to Sunshine > Settings > Payments, turn on QuickPay with its toggle, then click Configure.

  • Name: what customers see as the payment option at checkout. Leave it blank to use "Quickpay".
  • Description: a short line shown under the name at checkout. Leave it blank to use "Pay with credit card".
  • Fees: add an extra charge to orders paid with QuickPay, as a percentage of the order or a fixed amount. Choose No added fees to leave orders as they are. When you add a fee, Fee Name is what the customer sees it called and Fee Amount is how much it is. See Payment Gateway Fees.
  • Merchant ID: your QuickPay account number. Sunshine uses it to link each order straight to its payment in the QuickPay Manager.
  • API Key: the API user's key. This is what lets Sunshine start, capture and refund payments.
  • Private Key: your account's private key. Sunshine uses it to make sure payment notices really come from QuickPay. Without it, those notices are turned away.

There's no live or test switch in these settings. QuickPay handles test payments with special test card numbers on your normal account, as explained next.

Testing Before You Go Live

QuickPay doesn't have a separate test account. Instead, it has test card numbers that work on your normal account without moving any money.

  1. In the QuickPay Manager, go to Settings > Integration and turn on Allow test transactions
  2. Place an order on your site and pay with a QuickPay test card, like 1000 0000 0000 0008 (Visa, approved) or 1000 0000 0000 0016 (Visa, declined). Any future expiry date and any 3-digit security code will do
  3. Try capturing and refunding the test order from your WordPress admin

Orders paid with a test card are marked as test orders in Sunshine. When you're done testing, turn Allow test transactions back off so nobody can place a free order with a test card.

What Customers See at Checkout

The customer fills out checkout as usual, picks QuickPay, and clicks Continue to payment details. They're taken to QuickPay's secure payment window to pay. The ways to pay shown there (cards, MobilePay and so on) come from what's turned on in your QuickPay account.

Once they've paid, QuickPay sends them back to your site and they land on their order receipt page.

QuickPay doesn't ask for a billing address at checkout.

After the Customer Pays

When the customer comes back, Sunshine asks QuickPay about the payment before marking the order paid. The payment has to be accepted by QuickPay, made for this order, in the order's currency, and cover the full order total.

Once it passes, the order is marked New, the usual order emails go out, and the QuickPay payment ID is saved on the order. Open the order in Sunshine > Orders and click the Quickpay tab to see the transaction ID. It links straight to the payment in the QuickPay Manager.

At this point the money is reserved on the customer's card, not yet taken. See Capturing Payments for the next step.

If a payment is accepted but doesn't match the order (for example, the amount is different), the order is left unpaid and a note on the order explains why. Check the payment in the QuickPay Manager before doing anything else, since the customer may have been charged.

When a Payment Is Declined, Cancelled or Fails

Sunshine keeps the order in every one of these cases. Nothing is deleted, so you can always see that the customer tried to pay.

  • Customer cancels on QuickPay's page: Sunshine first checks with QuickPay to make sure the customer didn't pay after all (for example, in another browser tab). If they didn't, the order is marked Cancelled and they're sent back to checkout with the message "Payment has been cancelled". Their cart is still there so they can try again.
  • Payment declined: QuickPay's payment window usually lets the customer try another card right there. If they come back to your site without an accepted payment, they see "Payment not accepted" at checkout, the order stays Pending Payment, and a note on the order explains what happened.
  • QuickPay can't be reached: the customer sees "Could not connect to payment processor" at checkout and isn't charged.

When the customer tries again, Sunshine may start a fresh order for the new try. The earlier order stays on record either way.

Payment Notices from QuickPay

QuickPay sends your site a notice (QuickPay calls it a callback) when a payment is made or changes. This finishes the order even if the customer pays and then closes their browser before coming back to your site. Each notice is checked against your Private Key, so only real notices from QuickPay are used.

You don't need to set anything up in QuickPay for this. Sunshine tells QuickPay where to send the notice with every payment. Two things do need to be in place:

  • the Private Key setting has to be filled in
  • your site has to be live on the internet, so notices won't reach a site that only runs on your own computer

Notices also keep Sunshine up to date when you capture a payment inside the QuickPay Manager instead of from Sunshine. The order notes show how much QuickPay reports as captured in total.

Capturing Payments

QuickPay works in two steps. When the customer pays, the money is only reserved on their card. You then capture the payment to actually take the money. This lets you take payment when you're ready, for example once prints have shipped.

Sunshine doesn't capture QuickPay payments for you. Every QuickPay order needs to be captured, either from the order screen in Sunshine or in the QuickPay Manager. Card companies only hold a reservation for a limited time, so capture each order soon after it comes in.

To capture a payment from your WordPress admin:

  1. Open the order in Sunshine > Orders
  2. In the Order Actions panel, choose Capture payment in Quickpay
  3. Leave Full capture checked to capture everything that's left, or uncheck it and enter a smaller amount
  4. Click Submit

You'll see "Capture has been processed" with the amount, and a note is added to the order.

Capturing in parts

You can capture a payment in more than one go. For example, capture part of the order when the first prints ship and the rest when the last ones do. Sunshine adds each capture to the running total, and the Capture payment in Quickpay action stays in the list until the full order total has been captured.

Refunds

You can refund a QuickPay payment from your WordPress admin without logging in to QuickPay. The refund option shows up once some of the payment has been captured, since there's nothing to refund before that.

  1. Open the order in Sunshine > Orders
  2. In the Order Actions panel, choose Refund payment in Quickpay
  3. Leave Full refund checked to refund everything that's left, or uncheck it and enter a smaller amount
  4. Click Submit

A full refund marks the order Refunded. A partial refund is recorded on the order but keeps its current status. The amount is shown in the order's own currency.

QuickPay can only refund money that was captured. If you only captured part of an order, refund up to that amount.

Admin Payment Problem Email

Sunshine can email you when something goes wrong with a payment, so you don't have to spot it in the orders list. It's off by default. Turn on Admin Payment Problem in Sunshine > Settings > Email, and use its Send when options to pick which problems you hear about. See Emails for more on each email.

For QuickPay, this email covers:

  • a payment that was accepted but didn't match the order (wrong amount or currency, or made for another order)
  • a declined or unfinished payment the customer came back from (tick the "declined or cancelled" option to get these)

Each email includes the order and the reason, and the reply-to address is the customer's email.

Troubleshooting

"Could not connect to payment processor" at checkout

Sunshine couldn't start the payment with QuickPay. Check that the API Key is the API user's key (not the Private key, and not the Payment Window user's key), and that it was pasted without extra spaces. Also make sure your QuickPay account can take your store currency.

An order is still Pending Payment after the customer paid

The order is finished when the customer comes back to your site or when QuickPay's notice arrives. If neither has happened:

  • check that the Private Key is filled in, since notices are turned away without it
  • check that your site is live on the internet and not blocked by a maintenance or "coming soon" mode
  • look up the payment in the QuickPay Manager, and read the order notes, which explain when a payment was found but didn't match the order

"Could not verify payment status" when the customer comes back

Sunshine couldn't reach QuickPay to check the payment. The order stays unpaid for now. QuickPay's notice will still finish it if the payment went through, so check the order again in a few minutes.

The capture or refund option is missing

Capture payment in Quickpay only shows while some of the order is still uncaptured. Refund payment in Quickpay only shows once something has been captured.

A capture or refund won't go through

The error message shows QuickPay's reply, and the same message is added to the order notes. Common causes are a reservation that has expired, trying to capture or refund more than is left, or an API user that isn't allowed to capture or refund.

Still need help?

If you have not yet found your answer in the documentation articles, please contact support

Sunshine Photo Cart for WordPress