service_name: wallet-service
node_id: wallet-tencent
environment: prod
log:
  level: info
  format: json
  include_request_body: false
  include_response_body: false
  max_payload_bytes: 2048
grpc_addr: ":13004"
health_http_addr: ":13104"
mysql_dsn: "USER:PASSWORD@tcp(TENCENT_CDB_HOST:3306)/hyapp_wallet?parseTime=true&charset=utf8mb4&loc=UTC&tls=false"
activity_service_addr: "ACTIVITY_SERVICE_HOST:13006"
mysql_auto_migrate: false
red_packet_expiry_worker:
  enabled: true
  app_code: "lalu"
  poll_interval: "5s"
  batch_size: 50
projection_worker:
  enabled: true
  poll_interval: "60s"
  batch_size: 10
  lock_ttl: "30s"
  consumer_group: "hyapp-wallet-projection"
  consumer_max_reconsume_times: 16
rocketmq:
  enabled: true
  name_servers:
    - "TENCENT_ROCKETMQ_NAMESERVER:9876"
  name_server_domain: ""
  access_key: "TENCENT_ROCKETMQ_ACCESS_KEY"
  secret_key: "TENCENT_ROCKETMQ_SECRET_KEY"
  namespace: "hyapp-prod"
  send_timeout: "3s"
  retry: 2
  wallet_outbox:
    enabled: true
    topic: "hyapp_wallet_outbox"
    producer_group: "hyapp-wallet-outbox-producer"
  realtime_outbox:
    enabled: true
    topic: "hyapp_wallet_realtime_outbox"
    producer_group: "hyapp-wallet-realtime-outbox-producer"
google_play:
  enabled: false
  package_name: "com.example.hyapp"
  service_account_file: "/etc/hyapp/secrets/google-play-service-account.json"
  service_account_json: ""
  api_base_url: "https://androidpublisher.googleapis.com"
  token_url: "https://oauth2.googleapis.com/token"
  http_timeout: "10s"
  consume_enabled: true
mifapay:
  # MiFaPay 是 H5 统一三方支付入口；商户私钥必须通过密钥系统或环境配置提供，不能把商家公钥写进 private_key。
  enabled: true
  mer_account: "6000055d34f445418124ab7c0beb81a6"
  mer_no: "10001910"
  merchant_public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvVDVrlVS+HkfLx+56v1Fyfqj5Gd+DRkPIK4EOu+SMi+wtP4dwPBeXkrL1w+nSC0UFQ2Py690qdRu1FCSTNMWC8kfzddC4xlckJKXa9NoDyeJIN/Z5Za9Fg2znfqTee9BE8NnJk4EtmRwKJQaP8sCrYsIDv/bagywM9t25lKn2bmUOZKVVUtn/Xf5OBYDE6AVHB83J+HxX5VPLie+dbRdsRR+hoZs/vzLTNlZsTcrAnWUf7cqd9XNr39gXnXgdw61kzAC9RtSLbRPAo474F03xmLZKsL70vmBgex9/paljPxNnFVq1CPxmam5yzY0NtS6iXUlU7ttqAzBolSwPWla7QIDAQAB"
  private_key: "MIFAPAY_RSA_PRIVATE_KEY_PKCS8"
  platform_public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Kt1qR5jwf4xUVHqo2pLZW2Xb43P9c8BjMHeq4ih+u+8Qr5YtJa2EPv/sNoAQktjaUhsg9tJvtn1Pc46xIo3XeZiicdn91eNSdC6mZ8NxT6IJyyEr5x15o6hJORkiDbYg8k3rf40bZl8B6Oz6pEGPIYrmO8DVWN0Ak7qmWhHF5ePKusfLjy4TWEt2JmQGHAz+lfkDGaQzwtrC2kt4adYwcdpY78B4fH8Ssofr2fLuMQYl2QYWIV0lplAQicuTRhgWj4tora/MoK/LbKKFCthrElGvVJtial1QCfhOOUVgdjzGKdmuer8qiuseDraVIKYkAjuY9fGBWF+2N7mNIWOKwIDAQAB"
  api_base_url: "https://platform.xqdmipay.com"
  http_timeout: "10s"
tron_grid:
  enabled: true
  api_base_url: "https://api.trongrid.io"
  api_key: "TRONGRID_API_KEY"
  usdt_contract_address: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
  http_timeout: "10s"
external_recharge:
  usdt_trc20_enabled: true
  usdt_trc20_address: "TRC20_PLATFORM_RECEIVE_ADDRESS"
  mifapay_notify_url: "https://api.example.com/api/v1/payment/mifapay/notify"
  mifapay_return_url: "https://h5.example.com/recharge/index.html"
outbox_worker:
  enabled: true
  poll_interval: "1s"
  batch_size: 200
  concurrency: 8
  publish_timeout: "3s"
  max_retry_count: 10
  initial_backoff: "5s"
  max_backoff: "5m"
realtime_outbox_worker:
  enabled: true
  poll_interval: "500ms"
  batch_size: 50
  concurrency: 4
  publish_timeout: "3s"
  max_retry_count: 10
  initial_backoff: "2s"
  max_backoff: "1m"
  event_types:
    - "WalletRedPacketCreated"
    - "WalletRedPacketClaimed"
    - "WalletRedPacketRefunded"
