webhook.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { BaseService } from '@cool-midway/core';
  2. import { ILogger, Provide } from '@midwayjs/core';
  3. import { Inject } from '@midwayjs/decorator';
  4. import { InjectEntityModel } from '@midwayjs/typeorm';
  5. import { PayeeAddressEntity } from '../../payment/entity/payee_address';
  6. import { Repository } from 'typeorm';
  7. import { CustomerEntity } from '../../payment/entity/customer';
  8. import { PaymentService } from '../../payment/service/payment';
  9. import { PayeeEntity } from '../../payment/entity/payee';
  10. import { SunPayAdapter } from '../../payment/adapter/sunpay.adapter';
  11. /**
  12. * 描述
  13. */
  14. @Provide()
  15. export class OpenApiWebhookService extends BaseService {
  16. @InjectEntityModel(PayeeEntity)
  17. payeeEntity: Repository<PayeeEntity>;
  18. @InjectEntityModel(CustomerEntity)
  19. customerEntity: Repository<CustomerEntity>;
  20. @Inject()
  21. paymentService: PaymentService;
  22. @Inject()
  23. sunPayAdapter: SunPayAdapter;
  24. @Inject()
  25. ctx;
  26. @Inject()
  27. logger: ILogger;
  28. async easypayWebhook(params, type: string) {
  29. try {
  30. this.logger.info(
  31. `easypay的webhook_${type}: params${JSON.stringify(params)}`
  32. );
  33. // TODO 各类回调处理 后续处理
  34. // 账户审核通过 account_approved
  35. // 账户审核驳回 account_rejected
  36. // 实名待更新 legal_entity_request_created
  37. // 实名更新审核通过 legal_entity_request_success
  38. // 实名更新审核驳回 legal_entity_request_rejected
  39. // 收款账户申请成功 application_success
  40. // 收款账户申请失败 application_failed
  41. // 收款账户已下发 bank_account_created
  42. // 收款账户信息变更 bank_account_updated
  43. // 收单支付成功通知 acquiring_payment_success
  44. // 收单支付成功通知 acquiring_refund_success
  45. // 收单退款失败通知 acquiring_refund_failed
  46. // 入账成功 deposit_success
  47. // 换汇成功 exchange_success
  48. // 换汇失败 exchange_failed
  49. // 付款成功 payment_success
  50. // 付款失败 payment_failed
  51. // 付款银行退回 payment_refunded
  52. // 转账成功 transfer_success
  53. // 转账失败 transfer_failed
  54. } catch (err) {
  55. this.logger.error(
  56. `easypay的webhook error ${type}: params${JSON.stringify(params)}`
  57. );
  58. }
  59. this.ctx.status = 200;
  60. this.ctx.body = {};
  61. return;
  62. }
  63. }