1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

Formatage de l'API Reference de Stripe.

Discussion dans 'e-commerce' créé par ortolojf, 25 Septembre 2017.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Bonjour

    Je me suis remis à la conception/programmation d'un package de paiements Stripe pour mon site partenaire.

    Il n' y aura que des paiements par abonnements, ( 1 ou 3 mois ), avec éventuellement des rabais ponctuels.

    J'ai chargé dans un fichier texte, toute l'API Reference, avec les exemples en PHP, et les objets, attributs et valeurs et autres babioles.

    Je vais de nouveau, formater ce fichier avec l'aide de scripts php programmés ad hoc, de manière à disposer d'une documentation suffisamment claire et facile à interpréter.

    Comme méthode de conception, je connais ( c'est un vieux truc ), la méthode Merise, essentiellement pour passer du détail factuel, à la représentation Informatique.

    Je ne pourrai pas ne pas faire une interface d'administration, qui fasse le lien entre les traitements informatiques et un langage compréhensible par mon dirlo.

    J'aurai une longue phase de juxtaposition des règles métiers, en essayant de les formaliser de manière à ce que je puisse progresser dans la conception.

    Quelles suggestions pourriez-vous me donner, quant au choix d'une méthodologie ou d'une méthode de conception ?

    Et aussi par rapport à ce package de paiements ?

    Merci beaucoup.
     
  2. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Rebonjour

    Voici l'exemple ( pour l'objet BalanceTransaction ) :

    Code:
    
    ****************************************************************
    Stripe_Object : "BalanceTransaction"
    *************************************
    
    Attributes
    **********
    
    "id"	string			Unique identifier for the object.
    
    "object" = "balance_transaction"			String representing the object’s type. Objects of the same type share the same value.
    
    "amount"	integer			Gross amount of the transaction, in cents.
    
    "available_on"	timestamp			The date the transaction’s net funds will become available in the Stripe balance.
    
    "created"	timestamp			Time at which the object was created. Measured in seconds since the Unix epoch.
    
    "currency"	currency			Three-letter ISO currency code, in lowercase. Must be a supported currency.
    
    "description"	string			An arbitrary string attached to the object. Often useful for displaying to users.
    
    "fee"	integer			Fees (in cents) paid for this transaction.
    
    "fee_details"	list			Detailed breakdown of fees (in cents) paid for this transaction.
    
    
    ****************************************************************
    Stripe_Attribute : "fee_details" Child of : "BalanceTransaction"
    
    ****************************************************************
    
    "amount"	integer		Amount of the fee, in cents.
    
    "application"	string
    
    "currency"	currency		Three-letter ISO currency code, in lowercase. Must be a supported currency.
    
    "description"	string		An arbitrary string attached to the object. Often useful for displaying to users.
    
    "type"	string		Possibles Values = "application_fee", "stripe_fee", "tax"	Type of the fee, one of
    
    ****************************************************************
    
    "net"	integer			Net amount of the transaction, in cents.
    
    "source"	string			The Stripe object this transaction is related to.
    
    "status"	string			If the transaction’s net funds are available in the Stripe balance yet. Either available or pending.
    
    "type"	string			Possibles Values = "adjustment", "application_fee", "application_fee_refund", "charge", "payment", "payment_failure_refund", "payment_refund", "refund", "transfer", "transfer_refund", "payout", "payout_cancel", "payout_failure", "validation"	Transaction type
    
    ****************************************************************
    
    

    En fait, le fichier complet ( formaté ), fait 551.458 octets.

    Il contient tout : Les conseils de Stripe, codes PHP, objets, attributs et valeurs possibles ( quand précisées ).

    C'est un peu touffus, mais quand même moins qu'au départ.

    J'envisage l'approche Merise, pour traduire le langage verbal de manière informatique.

    Y a-t-il d'autres méthodes plus adaptées pour un tel problème, qui pose surtout la complexité ( donc l'effort de compréhension ), des règles et traitement métiers ?

    Merci beaucoup.
     
  3. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 759
    J'aime reçus:
    234
  4. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Bonjour Monsieur

    J'avais déjà la librairie Stripe-PHP et ces scripts php.

    C'est de la doc Stripe que j'ai tiré ce fichier ( texte ), qui a l'avantage de n'être qu'un seul fichier.

    Et quant à la méthode de conception ?

    Dans ce fichier texte j'ai un ensemble ( gros ) de règles éparses de pris en compte des requêtes https de Stripe ( vers le webhooks.php local du site ), mais je ne vois pas comment fixer cet ensemble de règles, de manière structurée et lisible.

    Je vais voir dans la librairie Stripe-PHP, mais comment concevoir une finite state machine globale à partir de tous ces scripts ?

    Merci beaucoup.
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Rebonjour spout

    Voilà, j'ai installé PHPUnit 6.3.0 comme paquet de mon Fedora 25, et puis Stripe-PHP avec :

    "composer require stripe/stripe-php"

    J'ai mis dans le php.ini :

    include_path="/usr/share/php:/usr/share/pear:/usr/share/php/PHPUnit:/usr/share/php/PHPUnit/Framework:/usr/share/pear/PEAR"

    Comme Stripe_PHP a changé le libellé de la classe "TestCase", ( n'existant pas sous le libellé de Stripe_PHP ), j'ai mis ceci dans le tests/bootstrap.php :

    Code:
    
    // backward compatibility
    if (class_exists('PHPUnit\Framework\TestCase') &&
        !class_exists('PHPUnit_Framework_TestCase')) {
        class_alias('PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase');
    }
    
    
    Maintenant, quand je fais :

    phpunit ./tests/TestCase

    çà marche.

    Mais :

    phpunit ./tests/UtilTest

    La classe : "ApiRequestor" est "not found".

    Cette classe n'existe que comme : "ApiRequestorTest" ( dans le fichier du même nom ), mais de toute façon ce fichier n'est manifestement pas chargé.

    Que faire pour que tout soit correct pour les tests ?

    Merci beaucoup.
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 759
    J'aime reçus:
    234
  7. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Bonjour Spout

    Le test général ( avec build.php ), se fait sans aucune erreur.

    Quand je fais certains tests ( avec ./vendor/bin/phpunit ) çà marche.

    Avec d'autres tests, il y a une ou + de classes qui ne sont pas trouvées, simplement parce qu'elles ne sont pas chargées ( leur fichier ne l'est pas. )

    Celà n'a-t-il pas la moindre importance en situation réelle, d'écriture du package de paiement Stripe ?

    Même en mode test ?

    Dans ces conditions, les classes seront nécessairement chargées comme il faut, et il n'y aura plus le moindre souci.

    Ce matin, j'ai acheté : de Larry Ullman : "Effortless E-Commerce with MySQL and PHP 2nd Ed.".

    Je recevrai le colis le 15 Octobre.

    J'ai les scripts de ce Monsieur.

    Et en plus, son livre traite aussi de Paypal et Stripe. ;)

    Respectueusement.
     
  8. Catherine Goyer
    Catherine Goyer Nouveau WRInaute
    Inscrit:
    30 Septembre 2017
    Messages:
    1
    J'aime reçus:
    0
    Je me nomme Caroline Goyer et je dirige l'entreprise GOYER FINANCE pour l'assistance financière. N'hésitez pas à nous contacter si vous êtes dans le besoin. Merci.
     
  9. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 799
    J'aime reçus:
    8
    Madame

    Je ne suis pas dans le besoin.
     
Chargement...
Similar Threads - Formatage API Reference Forum Date
Formatage url rewriting Référencement Google 25 Novembre 2016
Formatage des balises h1, h2, h3, p, etc Développement d'un site Web ou d'une appli mobile 23 Juillet 2012
Formatage de l'URL incluse entre les balises <loc> et </loc> Débuter en référencement 27 Janvier 2012
Probleme de formatage disque dur ntfs vers FAT32 Le café de WebRankInfo 9 Octobre 2011
PHP : formatage spécial Développement d'un site Web ou d'une appli mobile 21 Septembre 2010
Problème après reformatage complet du site Crawl et indexation Google, sitemaps 3 Août 2009
Script de formatage ponctuation Développement d'un site Web ou d'une appli mobile 7 Novembre 2008
Navigateur Brave : plus rapide que chrome et réelle alternative à Adsense Monétisation d'un site web 13 Juillet 2019
API OpenStreetMap : quel quota ? Développement d'un site Web ou d'une appli mobile 13 Juin 2019
Récupérer events via API google analytics Google Analytics 6 Avril 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice