瀏覽代碼

Bug fixes

Lee Morgan 1 月之前
父節點
當前提交
a83b89d0e5
共有 3 個文件被更改,包括 6 次插入3 次删除
  1. 1 0
      .gitignore
  2. 1 1
      src/controllers/webhook/stripe.rs
  3. 4 2
      src/models/purchase.rs

+ 1 - 0
.gitignore

@@ -4,3 +4,4 @@
 .env
 documentation.html
 redoc-static.html
+bugs.txt

+ 1 - 1
src/controllers/webhook/stripe.rs

@@ -59,6 +59,6 @@ async fn handle_failure(event: Event, db: &PgPool) -> Result<(), HttpError> {
         _ => {return Err(HttpError::InvalidInput("No payment intent ID".into()))}
     };
 
-    Purchase::update_status(db, id, Status::Succeeded).await?;
+    Purchase::update_status(db, id, Status::Failed).await?;
     Ok(())
 }

+ 4 - 2
src/models/purchase.rs

@@ -104,10 +104,12 @@ impl Purchase {
         let purchase = sqlx::query_as::<_, Purchase>(
             "UPDATE purchases
             SET status = $1
-            WHERE stripe_id = $2"
+            WHERE stripe_id = $2
+                AND status = 'Pending'
+            RETURNING *"
         )
-            .bind(stripe_id)
             .bind(status.to_string())
+            .bind(stripe_id)
             .fetch_optional(db)
             .await?;