Skip to main content

I’m trying to think of a way to use a compliant offline credit card payment system that is integrated into xero. It is effectively a work around from the standard payment portals that are currently on offer that all charge way to much for credit card processing when we have our own EFTPOS machine that we can run the card numbers through ourselves (maybe 5-7 payments a week, so not many).FOR CLARIFICATION: besides the small amount of transactions that would occur, the size of each sale is over $3k. So the cost savings is substantial when you consider the bank Eftpos charges using a flat rate of between 25cent to $1.20 for visa or 1.2% on mastercard and funds are cleared to your bank account that evening. Where as the online payment portals charge more like 80cents + 3-5% of total payment as a surcharge (Yep, up to $90 or more in surcharges before they are capped) and you don't have access to the funds settled to your bank account until 3 days later in some cases.

I have a compliant offline credit card payment plugin for woo commerce, it stores part of the credit card details encrypted and sends the other half via secure link to another server, when retrieving the credit card details you have to get the 2 packages in order to have the full credit card details… anyways, that's not important. What I’m struggling with is generating a unique URL for the customer to be taken to a payment page (woo commerce checkout). The work flow looks something like this

// Code to integrate Xero to WooCommerce
// Workflow: Create invoice in Xero -> Auto-create order in WooCommerce -> Generate unique URL -> Send URL back to Xero -> Include URL in invoice -> Customer pays in WooCommerce via URL -> Notify Xero of payment received

and obviously process the payment manually at a time that suits.

I’m unsure if this is a matter for Zapier or more a wordpress/woo commerce coding problem. I’m just trying to cover all bases on not doubling my word load. I note that there is a zap that will generate a invoice in Xero from Woo but not the other way around. Dunno, maybe I’m looking at this the wrong way. But I do know that something similar to this is in high demand by many xero users.

Hi and welcome to the Community @Crashy🎉

If I’m understanding you correctly you’re wanting to build a workflow between Xero and WooCommerce that:

  1. Runs when an invoice is created in Xero.
  2. Creates an order in WooCommerce.
  3. Generates a link to make the payment for that order.
  4. Updates the invoice that triggered the Zap to add the payment link.
  5. Once the customer has paid then update the invoice to mark it as paid.

Is that correct?

It doesn’t look like there’s any actions available for the WooCommerce app on Zapier that would allow you to generate a payment link. But are customers able to view their pending orders and make a payment from that order page? If they can perhaps you could manually generate the link to the order by selecting the order ID from the order that’s created and adding that into the link. For example something like www.yourwebsite.com/view-order/ORDER_ID/ - I couldn’t see any documentation online to confirm what the actual url format is so it might be in a different format depending on how your site is setup. Would you be up for testing that theory out on your end?

If yes, then here’s the trigger and actions you’d want to use for the Zap assuming that create order action generates a link that’s useable:

  • Trigger: New Sales Invoice (Xero)
  • Action: Create Order (WooCommerce) - creates an order with a status of “pending” based on the information selected from the invoice that triggers the Zap.
  • Action: Update Sales Invoice (Xero) - updated the invoice to add the payment link using the ID of the order that’s created by the previous action.
  • Action: Send Sales Invoice by Email (Xero) - send the invoice to the customer with the link to make the payment.


Looking forward to hearing from you on this!