mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 16:28:12 +00:00
fix: ( payment ) prevent duplicate booking charges and fix D-Money queryOrder
This commit is contained in:
@@ -102,8 +102,12 @@ export class DMoneyProvider implements PaymentProvider {
|
||||
async queryStatus(merchantOrderId: string): Promise<ProviderStatus> {
|
||||
const fabricToken = await this.applyFabricToken();
|
||||
const requestBody = this.buildQueryOrderRequest(merchantOrderId);
|
||||
const { sign: _sign, ...sanitizedBody } = requestBody;
|
||||
this.logger.log(
|
||||
`D-Money queryOrder send request merchOrderId=${merchantOrderId} body=${JSON.stringify(sanitizedBody)}`,
|
||||
);
|
||||
const response = await this.postJson<DMoneyQueryOrderResponse>(
|
||||
`${this.baseUrl}/apiaccess/payment/v1/merchant/queryOrder`,
|
||||
`${this.baseUrl}/apiaccess/payment/gateway/payment/v1/merchant/queryOrder`,
|
||||
requestBody,
|
||||
{
|
||||
"Content-Type": "application/json",
|
||||
@@ -112,9 +116,18 @@ export class DMoneyProvider implements PaymentProvider {
|
||||
},
|
||||
);
|
||||
|
||||
this.logger.log(
|
||||
`D-Money queryOrder response merchOrderId=${merchantOrderId} body=${JSON.stringify(response)}`,
|
||||
);
|
||||
|
||||
const orderStatus = response.biz_content?.order_status;
|
||||
const providerTxnId = response.biz_content?.payment_order_id;
|
||||
const mapped = this.mapOrderStatus(orderStatus);
|
||||
this.logger.log(
|
||||
`D-Money queryOrder result merchOrderId=${merchantOrderId} ` +
|
||||
`orderStatus=${orderStatus ?? "n/a"} mapped=${mapped} ` +
|
||||
`providerTxnId=${providerTxnId ?? "n/a"}`,
|
||||
);
|
||||
|
||||
return {
|
||||
status: mapped,
|
||||
|
||||
Reference in New Issue
Block a user