123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import { BaseService } from '@cool-midway/core';
- import { ILogger, Provide } from '@midwayjs/core';
- import { Inject } from '@midwayjs/decorator';
- import { PaymentSuccessService } from './webhook_utils/payment_success';
- import { WebHookCommonService } from './webhook_utils/common';
- import { DepositSuccessService } from './webhook_utils/deposit_success';
- import { ExchangeSuccessService } from './webhook_utils/exchange_success';
- import { TransferSuccessService } from './webhook_utils/transfer_success';
- import { WebHookAccountService } from './webhook_utils/account';
- /**
- * 描述
- */
- @Provide()
- export class OpenApiWebhookService extends BaseService {
- @Inject()
- webHookCommonService: WebHookCommonService;
- @Inject()
- paymentSuccessService: PaymentSuccessService;
- @Inject()
- depositSuccessService: DepositSuccessService;
- @Inject()
- exchangeSuccessService: ExchangeSuccessService;
- @Inject()
- transferSuccessService: TransferSuccessService;
- @Inject()
- webHookAccountService: WebHookAccountService;
- @Inject()
- ctx;
- @Inject()
- logger: ILogger;
- async easypayWebhook(params, type: string) {
- try {
- this.logger.info(
- `easypay的webhook_${type}: params${JSON.stringify(params)}`
- );
- // TODO 各类回调处理 后续处理
- // const {type} = params
- switch (params.type) {
- case 'account_approved':
- // 账户审核通过 account_approved
- return await this.webHookAccountService.run(params);
- case 'account_rejected':
- // 账户审核驳回 account_rejected
- return await this.webHookAccountService.run(params);
- case 'legal_entity_request_created':
- // 实名待更新 legal_entity_request_created
- return await this.webHookAccountService.run(params);
- case 'legal_entity_request_success':
- // 实名更新审核通过 legal_entity_request_success
- return await this.webHookAccountService.run(params);
- case 'legal_entity_request_rejected':
- // 实名更新审核驳回 legal_entity_request_rejected
- break;
- case 'application_success':
- // 收款账户申请成功 application_success
- break;
- case 'application_failed':
- // 收款账户申请失败 application_failed
- break;
- case 'bank_account_created':
- // 收款账户已下发 bank_account_created
- break;
- case 'bank_account_updated':
- // 收款账户信息变更 bank_account_updated
- break;
- case 'acquiring_payment_success':
- // 收单支付成功通知 acquiring_payment_success
- break;
- case 'acquiring_refund_success':
- // 收单支付成功通知 acquiring_refund_success
- break;
- case 'acquiring_refund_failed':
- // 收单退款失败通知 acquiring_refund_failed
- break;
- case 'exchange_failed':
- // 换汇失败 exchange_failed
- break;
- case 'payment_failed':
- // 付款失败 payment_failed
- break;
- case 'payment_refunded':
- // 付款银行退回 payment_refunded
- break;
- case 'transfer_failed':
- // 付款银行退回 transfer_failed
- break;
- case 'deposit_success':
- // 入账成功 deposit_success
- return await this.depositSuccessService.run(params);
- case 'exchange_success':
- // 换汇成功 exchange_success
- // 如果换汇成功,则收取手续费
- return await this.exchangeSuccessService.run(params);
- case 'payment_success':
- // 付款成功 payment_success
- return await this.paymentSuccessService.run(params);
- case 'transfer_success':
- // 转账延迟2.2秒处理
- await this.webHookCommonService.waitByTime(2200);
- return await this.transferSuccessService.run(params);
- }
- } catch (err) {
- this.logger.error(
- `easypay的webhook error ${type}: params${JSON.stringify(params)}`
- );
- }
- // 转账延迟4秒处理
- await this.webHookCommonService.waitByTime(4000);
- this.ctx.status = 400;
- this.ctx.body = {};
- return;
- }
- }
|