OriginProtocol / dshop

Origin Dshop - launch your own decentralized store
https://www.originprotocol.com/dshop
MIT License
138 stars 87 forks source link

[Printful] Successful transactions not showing up in Orders #365

Closed gullible1 closed 4 years ago

gullible1 commented 4 years ago

I synced annas-fiestas.ogn.app to my Printful account and made 2 purchases via credit card. Both times the transaction was successful and I landed on the order confirmation page. My Stripe dashboard also shows these as successful transactions. However no new orders are showing up on either my Dshop dashboard nor my Printful dashboard.

Related to #369 and #373 .

franckc commented 4 years ago

Took a quick look at the production data.

Ann's shop has id 90.

The validatePayment script found 2 Stripe events without corresponding orders in our system:

Francks-MBP:scripts franck$ node validatePayments.js --type=payment --shopId=90
dshop.script: Loaded shop Anna's Fiestas 90
dshop.script: =========================================
dshop.script: Shop Anna's Fiestas id=90
dshop.script: Found 0 orders with encrypted hashes
dshop.script: Event id: evt_1HCTAxKRvgtuExCCAG3nPT23
dshop.script: Event metadata: [object Object]
dshop.script: Event id: evt_1HCT6vKRvgtuExCCahfYTJxh
dshop.script: Event metadata: [object Object]

The webhook is currently properly configured:

Francks-MBP:scripts franck$ node validatePayments.js --type=config --shopId=90
Is ENVKEY missing?
dshop.script: Loaded shop Anna's Fiestas 90
dshop.script: Processing shop 90 Anna's Fiestas
dshop.script: Inspecting webhook https://dshop.originprotocol.com/webhook
dshop.script: Webhook correctly configured
dshop.script: Checking configs for Stripe enabled shops...
dshop.script: Verified 1 shop(s) with consistent webhook for key sk_live_51H7...
dshop.script: Finished

There are no rows in the external payments for those Stripe events, which would indicate Stripe did not call our webhhok.

dshop=> select * from external_payments where external_id in ('evt_1HCTAxKRvgtuExCCAG3nPT23', 'evt_1HCT6vKRvgtuExCCahfYTJxh');
 id | created_at | updated_at | external_id | data | payment_at | amount | fee | net | authenticated | type | payment_intent | currency | payment_code 
----+------------+------------+-------------+------+------------+--------+-----+-----+---------------+------+----------------+----------+--------------

A possibility could be that when those 2 purchases were made, the webhook was not configured properly and later got fixed?

gullible1 commented 4 years ago

A user just reported the same issue as well while testing his store (sweet-pea-shop.ogn.app)

From the user:

  1. When receiving an order through Stripe the payment was processed correctly but the order doesn't show up in the Dshop Dashboard.
  2. When receiving an order through Crypto (Metamask) the order says that is went through for the user but the Dshop Dashboard doesn't show there was an order created.
nick commented 4 years ago

Yea I fixed Anna's webhook after those initial requests were made. I filed #369 so we can make sure all webhooks are active and functioning before accepting payments

franckc commented 4 years ago

I filed #373 last night regarding sweet-pea-shop.ogn.app - it's not a webhook issue. It looks like somehow the shop DNS had not propagated when the order was processed on the backend, causing the config file to failed getting fetched.

gullible1 commented 4 years ago

@nick can I close this now?

nick commented 4 years ago

Sure, can reopen if it happens again