Skip to content

UdotCASH/quickbooks-ucashpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quickbooks-ucashpay

U.CASH Pay for QuickBooks Online. Add a "Pay with U.CASH" option to invoices; a verified webhook posts a Payment to the invoice. Non-custodial.

Status: scaffold. The OAuth2 token refresh + the QBO Payment POST in markInvoicePaid() are stubbed (the exact request is documented inline). Wire them with the Intuit SDK/REST, validate in the QBO sandbox, then submit to the Intuit App Store.

Flow

  • GET /pay?invoiceId=..&amount=..&currency=.. redirects to a hosted U.CASH Pay checkout for the invoice.
  • POST /ucashpay/webhook verifies the X-Webhook-Signature (HMAC-SHA256, 300s window) and posts a Payment to the invoice.

Run

npm install
UCASH_CLOUD_TOKEN=st_.. UCASH_WEBHOOK_SECRET=.. \
QBO_COMPANY_ID=.. QBO_CLIENT_ID=.. QBO_CLIENT_SECRET=.. QBO_REFRESH_TOKEN=.. QBO_ENV=sandbox \
PORT=3000 npm start

Set up your pay.u.cash account

  1. Sign up at pay.u.cash, verify email.
  2. Set receive addresses under Settings → Addresses.
  3. Create a store at Account → Stores → + Add Store; copy the Store Cloud Token + Store Webhook Secret.
  4. Set the webhook URL to https://your-host/ucashpay/webhook, then Test Webhook.

QuickBooks setup

Create an app at the Intuit Developer Portal, enable the com.intuit.quickbooks.accounting scope, and use OAuth2 (refresh-token flow). Implement markInvoicePaid() with POST /v3/company/{companyId}/payment. Listing on the Intuit App Store is a separate review.

License

MIT.

About

U.CASH Pay for QuickBooks Online: crypto + card invoice payments with verified webhooks. Scaffold.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages