Skip to content

Latest commit

 

History

History
93 lines (75 loc) · 7.07 KB

File metadata and controls

93 lines (75 loc) · 7.07 KB

apple-refund-assistant

GitHub Actions Workflow Status Coverage Maintainability Rating CodeRabbit Pull Request Reviews

English | 简体中文 | Español | हिन्दी | العربية | Português | Русский | 日本語 | Français

Este servicio está construido sobre la arquitectura multi-tenant de Laravel / Filament, ayudando efectivamente a los desarrolladores a prevenir reembolsos fraudulentos procesando instantáneamente las notificaciones CONSUMPTION_REQUEST de Apple y devolviendo datos de consumo de forma asíncrona.

  • Soporte Multi-tenant
  • Soporte Multi-idioma (中文 / English / Español / हिन्दी / العربية / Português / Русский / 日本語 / Français)
  • Soporte Multi-moneda
  • Cero Dependencias File+SQLite o actualizar a Redis+MySQL
  • 100% Cobertura de Pruebas
  • Claves de Aplicación Auto-gestionadas Las claves privadas solo se almacenan en tu tabla de base de datos apps (con cifrado simétrico, claves generadas por tu aplicación)
  • 12 Campos de Consumo - Calcular todos los campos requeridos de Apple
  • Reenvío de Mensajes de Notificación El servidor de Apple envía al servicio actual, el servicio actual reenvía a tu servidor de producción

Demo en Línea

🌐 URL de Demo: https://apple-refund-assistant.shiguopeng.cn/

⚠️ Nota: El sistema se reinicia cada 30 minutos.

Capturas de Pantalla

Página Principal Página Principal Página Principal Página Principal Página Principal Página Principal

Inicio Rápido

Usando Imagen Pre-construida

docker run -d \
  -p 8080:8080 \
  --name apple-refund-assistant \
  --restart=always \
  ghcr.io/seth-shi/apple-refund-assistant:latest

Construcción y Ejecución Local

git clone https://github.com/seth-shi/apple-refund-assistant
cd apple-refund-assistant
## Construir imagen y desplegar
./deploy.sh

Si necesitas montar datos

touch database.sqlite
docker run -d \
  -p 8080:8080 \
  -v $(pwd)/database.sqlite:/var/www/html/database/database.sqlite \
  --name apple-refund-assistant \
  --restart=always \
  ghcr.io/seth-shi/apple-refund-assistant:latest

Estrategia de Campos de Consumo

Campo Descripción Fuente de Datos Regla de Cálculo
accountTenure Días de registro del usuario users.register_at Tiempo actual menos tiempo de registro
appAccountToken Token de cuenta users.app_account_token Necesita ser pasado cuando el cliente crea orden
consumptionStatus Estado de consumo transactions.expiration_date Comparar con tiempo actual, si expirado retornar consumido
customerConsented Consentimiento del usuario para proporcionar datos Ninguno Codificado true
deliveryStatus Si se entregó exitosamente una compra in-app funcional. Ninguno Codificado 0(entrega normal)
lifetimeDollarsPurchased Cantidad total de compras in-app users.purchased_dollars Acumular este campo basado en eventos de transacción de Apple, también puedes acumularlo tú mismo
lifetimeDollarsRefunded Cantidad total de reembolsos users.refunded_dollars Acumular este campo basado en eventos de reembolso de Apple, también puedes acumularlo tú mismo
platform Plataforma Ninguno Codificado 1(apple)
playTime Valor de tiempo de uso de la app del cliente users.play_seconds Tu sistema necesita soportar actualizar este campo, de lo contrario es 0
refundPreference Resultado esperado de solicitud de reembolso transactions.expiration_date Comparar con tiempo actual, si expirado esperar rechazar reembolso
sampleContentProvided Si se proporciona prueba apps.sample_content_provided Configurar app al crear app
userStatus Estado del usuario Ninguno Codificado 1(usuario normal)

Planes Futuros

  • ¿Tienes otras ideas o estás interesado en colaboración? ¡Por favor envía un issue en GitHub - esperamos tu feedback!

Agradecimientos