CoreviaFlowCOREVIAFLOWDIGITAL PROJECT COMPANY Leave a request
EN UA RU

PayPal ↔ Shopify integration

PayPal payments for orders agreed outside the checkout find their Shopify order, mark it paid and move it to fulfilment, and refunds go back the same way

Not every Shopify order is paid through the checkout. A wholesale buyer agrees the order with a manager, a regular client asks for a PayPal payment request, a customer from abroad pays the balance separately. Then the money is in PayPal, the order is in Shopify, and someone has to connect the two by hand before anything ships. The PayPal ↔ Shopify pair does that connection: a completed PayPal payment finds its order, marks it paid and moves it on, changes on the payment are passed to the order, and a refund approved in Shopify goes back to PayPal against the original payment. Below: what exactly moves, which scenarios we cover and which capabilities of both systems we rely on.

What moves between the systems

  • Shopify → PayPalAn order a manager prepares in Shopify for a wholesale or regular buyer is sent to PayPal as a payment request with the same amount, currency and order number.
  • PayPal → ShopifyA completed PayPal payment finds its Shopify order by the order number in the payment, or by amount and email, marks the order paid and moves it to fulfilment.
  • PayPal → ShopifyWhen something changes on a payment, for example it is refunded or reversed, the pair picks the change up from PayPal and the order gets a note and a label, so nobody ships an order whose money is gone.
  • Shopify → PayPalA refund a person approves on the Shopify order is sent to PayPal against the original payment, and the order shows when the money went back.
  • PayPal → ShopifyThe payer's name and email from PayPal are attached to the Shopify customer, so a buyer who paid outside the checkout still has one card with all orders.
  • PayPal ↔ ShopifyOnce a day every PayPal payment is compared with the Shopify orders; payments without an order and orders waiting too long for payment go to a short list for a person.

What we connect

  • You confirm the PayPal account is a business account, which PayPal requires for a live connection and for tests with buyers outside the US.
  • You create an app in the PayPal developer area and pass us its identifier and secret; we exchange them for access on each run and never store your PayPal password.
  • On the Shopify side you create a custom app through the Shopify developer dashboard with access only to orders and customers; we build it on Shopify's current GraphQL interface, not the legacy one.
  • We agree the matching rule: the order number in the payment note first, then amount and email, and everything else goes to the list for a person instead of being guessed.
  • We rehearse on PayPal's two practice accounts, one for buying and one for selling, and a Shopify development store, so no real money moves until the flow is proven.
  • We switch to the live store and account from an agreed date and watch the first days of payments together with you.

Automation scenarios

01

Paid, but the order still waits

Before a wholesale buyer pays through PayPal, the manager sees it hours later in the PayPal account and marks the Shopify order paid by hand, and shipping waits.

After the payment finds its order on its own, the order moves to fulfilment, and the manager only sees the result.

02

Shipped after the money was returned

Before a payment is reversed in PayPal, nobody checks, and the warehouse ships the order anyway.

After the reversal reaches the Shopify order as a note and a label, and the order stops before it leaves the warehouse.

03

Refund done in two places

Before the manager refunds in PayPal, then remembers to update the Shopify order, and the two stories differ at month end.

After the refund is approved once on the Shopify order and goes to PayPal against the original payment.

04

A payment nobody can place

Before a PayPal payment arrives without an order number, and it sits in the account until someone asks the buyer.

After it lands in the daily list with the payer's name and amount, and a person assigns it in a minute.

How it works technically

For those who want to check: each point links to the official documentation page it comes from.

  • An invoice can be created as a draft through the API and then sent to the customer, or scheduled to be sent, so a payment request goes out without the checkout.

    Source: developer.paypal.com ↗ checked 2026-09-29
  • PayPal reports payment changes to an external system as webhook events: a capture completed, a capture refunded by the merchant, a capture reversed by PayPal, and an invoice paid or partially paid.

    Source: developer.paypal.com ↗ checked 2026-09-29
  • A completed payment can be refunded through the API by its capture ID, so a refund goes back against the original payment.

    Source: developer.paypal.com ↗ checked 2026-09-29
  • Testing purchases and payouts outside the US, or going fully live with an integration, both require a PayPal business account — a basic developer account alone isn't enough.

    Source: developer.paypal.com ↗ checked 2026-09-25
  • An order can be marked as paid through the API: Shopify records a payment for the outstanding amount — this is meant for payments taken outside its checkout.

    Source: shopify.dev ↗ checked 2026-09-29
  • When an order is updated, its note and tags are replaced entirely, so a new tag or line must be sent together with the existing ones.

    Source: shopify.dev ↗ checked 2026-09-29

Limits

The limits come from both systems. PayPal requires a business account for a live connection and for testing payments with buyers outside the US; the basic developer setup covers building and US tests only. On the Shopify side, new integrations are built on the current GraphQL interface, request limits depend on the store's plan, access is granted by the store owner, and store notifications can occasionally arrive twice or out of order, so the pair checks every payment against what is already recorded before changing an order. Payments made before the agreed start date are not matched backwards, and a refund is never sent to PayPal without a person approving it in Shopify.

How to start

Three steps from a first message to work on your project.

  1. 01

    Leave a request

    Describe the task in the form — in text or by voice. Budget and timing are optional.

  2. 02

    We review and estimate

    A developer studies the brief, asks about anything unclear and sends an estimate.

  3. 03

    We start

    Once scope and price are agreed, the work begins.

or write to info@coreviaflow.space

Questions

Our store already accepts PayPal at checkout. Do we need this?
If all your PayPal payments go through the checkout and the standard setup covers them, no, and we will say so after looking. The pair is for payments that come outside the checkout: wholesale and manager-agreed orders, balances paid separately, or several PayPal accounts.
What if a payment cannot be matched to an order?
Nothing is guessed. The payment goes to the daily list with the payer's name, email and amount, and a person assigns it to an order. Until then no order is marked paid.
Our business is outside the US. Does it work?
Yes, with a PayPal business account: PayPal requires it both for the live connection and for rehearsing payments outside the US. We check the account type at the very start, before building anything.

Tell us what needs to be connected

Describe the task in text or a voice message. We look at your setup and reply with a plan.