import { BaseService } from '@cool-midway/core'; import { ILogger, Provide } from '@midwayjs/core'; import { Inject } from '@midwayjs/decorator'; import { InjectEntityModel } from '@midwayjs/typeorm'; import { PayeeAddressEntity } from '../../payment/entity/payee_address'; import { Repository } from 'typeorm'; import { CustomerEntity } from '../../payment/entity/customer'; import { PaymentService } from '../../payment/service/payment'; import { PayeeEntity } from '../../payment/entity/payee'; import { SunPayAdapter } from '../../payment/adapter/sunpay.adapter'; /** * 描述 */ @Provide() export class OpenApiWebhookService extends BaseService { @InjectEntityModel(PayeeEntity) payeeEntity: Repository; @InjectEntityModel(CustomerEntity) customerEntity: Repository; @Inject() paymentService: PaymentService; @Inject() sunPayAdapter: SunPayAdapter; @Inject() ctx; @Inject() logger: ILogger; async easypayWebhook(params, type: string) { try { this.logger.info( `easypay的webhook_${type}: params${JSON.stringify(params)}` ); // TODO 各类回调处理 后续处理 // 账户审核通过 account_approved // 账户审核驳回 account_rejected // 实名待更新 legal_entity_request_created // 实名更新审核通过 legal_entity_request_success // 实名更新审核驳回 legal_entity_request_rejected // 收款账户申请成功 application_success // 收款账户申请失败 application_failed // 收款账户已下发 bank_account_created // 收款账户信息变更 bank_account_updated // 收单支付成功通知 acquiring_payment_success // 收单支付成功通知 acquiring_refund_success // 收单退款失败通知 acquiring_refund_failed // 入账成功 deposit_success // 换汇成功 exchange_success // 换汇失败 exchange_failed // 付款成功 payment_success // 付款失败 payment_failed // 付款银行退回 payment_refunded // 转账成功 transfer_success // 转账失败 transfer_failed } catch (err) { this.logger.error( `easypay的webhook error ${type}: params${JSON.stringify(params)}` ); } this.ctx.status = 200; this.ctx.body = {}; return; } }