Skip to content

Latest commit

 

History

History
93 lines (75 loc) · 7.22 KB

File metadata and controls

93 lines (75 loc) · 7.22 KB

apple-refund-assistant

GitHub Actions Workflow Status Coverage Maintainability Rating CodeRabbit Pull Request Reviews

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

Ce service est construit sur l'architecture multi-tenant Laravel / Filament, aidant efficacement les développeurs à prévenir les remboursements frauduleux en traitant instantanément les notifications CONSUMPTION_REQUEST d'Apple et en retournant les données de consommation de manière asynchrone.

  • Support Multi-tenant
  • Support Multi-langues (中文 / English / Español / हिन्दी / العربية / Português / Русский / 日本語 / Français)
  • Support Multi-devises
  • Zéro Dépendance File+SQLite ou mise à niveau vers Redis+MySQL
  • 100% Couverture de Tests
  • Clés d'Application Auto-gérées Les clés privées ne sont stockées que dans votre table de base de données apps (avec chiffrement symétrique, clés générées par votre application)
  • 12 Champs de Consommation - Calculer tous les champs Apple requis
  • Transfert de Messages de Notification Le serveur Apple envoie au service actuel, le service actuel transfère vers votre serveur de production

Démo en Ligne

🌐 URL de Démo: https://apple-refund-assistant.shiguopeng.cn/

⚠️ Note: Le système redémarre toutes les 30 minutes.

Captures d'Écran

Page d'Accueil Page d'Accueil Page d'Accueil Page d'Accueil Page d'Accueil Page d'Accueil

Démarrage Rapide

Utilisation d'Image Pré-construite

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

Construction et Exécution Locale

git clone https://github.com/seth-shi/apple-refund-assistant
cd apple-refund-assistant
## Construire l'image et déployer
./deploy.sh

Si vous devez monter des données

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

Stratégie des Champs de Consommation

Champ Description Source de Données Règle de Calcul
accountTenure Jours d'inscription utilisateur users.register_at Temps actuel moins temps d'inscription
appAccountToken Token de compte users.app_account_token Doit être passé quand le client crée une commande
consumptionStatus Statut de consommation transactions.expiration_date Comparer avec le temps actuel, si expiré retourner consommé
customerConsented Consentement utilisateur à fournir des données Aucun Codé en dur true
deliveryStatus Si un achat in-app fonctionnel a été livré avec succès. Aucun Codé en dur 0(livraison normale)
lifetimeDollarsPurchased Montant total des achats in-app users.purchased_dollars Accumuler ce champ basé sur les événements de transaction Apple, vous pouvez aussi l'accumuler vous-même
lifetimeDollarsRefunded Montant total des remboursements users.refunded_dollars Accumuler ce champ basé sur les événements de remboursement Apple, vous pouvez aussi l'accumuler vous-même
platform Plateforme Aucun Codé en dur 1(apple)
playTime Valeur du temps d'utilisation de l'app par le client users.play_seconds Votre système doit supporter la mise à jour de ce champ, sinon c'est 0
refundPreference Résultat attendu de la demande de remboursement transactions.expiration_date Comparer avec le temps actuel, si expiré espérer rejeter le remboursement
sampleContentProvided Si un essai est fourni apps.sample_content_provided Configurer l'app lors de la création de l'app
userStatus Statut utilisateur Aucun Codé en dur 1(utilisateur normal)

Plans Futurs

  • Avez-vous d'autres idées ou êtes-vous intéressé par la collaboration ? Veuillez soumettre un issue sur GitHub - nous attendons vos commentaires !

Remerciements