網址:https://developer.paypal.com/dashboard/applications/sandbox
https://網址/orders/update
//確保請求中有必要的交易資料程式碼解說:
if ("RtnCode" in req.body && "MerchantTradeNo" in req.body) {
...
} else if ("resource" in req.body) {
//Paypal
const { custom_id, status, update_time } = req.body.resource;
if (status !== 'COMPLETED') return res.status(500).send(500);
merchantTradeNo = custom_id;
tradeDate = update_time
};
1.檢查 req.body
是否包含 resource
:
確認請求的主體(req.body
)中是否有 resource
這個欄位。這是 PayPal webhook 通常用來存放具體交易資料的地方。
2.提取所需資訊:
從 resource
中解構出三個欄位:
3.檢查交易狀態是否完成:
如果 status
不等於 COMPLETED
,代表交易未完成,伺服器會返回 HTTP 500 狀態碼,表示處理失敗。
4.處理交易資訊:
merchantTradeNo = custom_id;
:將自訂交易編號(custom_id
)賦值給變數 merchantTradeNo
,用於後續處理。tradeDate = update_time;
:將最後更新時間(update_time
)賦值給變數 tradeDate
。