Payment
in package
Paiement effectué pour une commande de carte physique, un abonnement ou une carte virtuelle.
Un paiement peut se rattacher, indépendamment les uns des autres, à une carte Card,
un utilisateur User, une entreprise Company, un abonnement Subscription
ou une commande Order — toutes ces relations ManyToOne sont facultatives. En lecture
du code appelant, un même paiement semble ne servir en pratique qu'un seul de ces cas d'usage
à la fois, mais il s'agit d'une lecture déduite : rien dans l'entité ni dans le schéma
(contrainte, validation applicative) ne l'impose ou ne le garantit. status prend l'une
des valeurs PENDING, ACCEPTED, REJECTED ou COMPLETED (constantes *_STATUS).
paymentMethod prend l'une des valeurs CREDIT_CARD, ORANGE_MONEY, DELIVERY_CASH,
PRO_SUBSCRIPTION, COMPANY_FREE, MANUAL ou DJOMY. stripePaymentIntentId n'est renseigné que
pour les paiements par carte bancaire passés par Stripe. provider, providerTransactionId et
providerReference identifient le paiement chez une passerelle externe (aujourd'hui Djomy, avec
provider = djomy) : identifiant de transaction du prestataire et référence marchande envoyée.
providerReturnToken est un jeton aléatoire unique, intégré à l'URL de retour du client, qui évite
d'exposer l'identifiant du paiement. getAmout()/setAmout() sont des
alias historiques (faute de frappe conservée) de getAmount()/setAmount(), qui restent la
forme à utiliser ; la colonne elle-même porte le nom amout en base.
Attributes
- #[Entity]
- $repositoryClass: \App\Repository\PaymentRepository::class
- #[Index]
- $name: 'idx_payment_status'
- $columns: ['status']
- #[Index]
- $name: 'idx_payment_created_at'
- $columns: ['created_at']
- #[Index]
- $name: 'idx_payment_provider_tx'
- $columns: ['provider_transaction_id']
- #[Index]
- $name: 'idx_payment_provider_ref'
- $columns: ['provider_reference']
- #[Table]
- $name: 'payment'
- #[UniqueConstraint]
- $name: 'uniq_payment_return_token'
- $columns: ['provider_return_token']
Table of Contents
Constants
- ACCEPTED_STATUS : mixed = "ACCEPTED"
- COMPANY_FREE : mixed = "COMPANY_FREE"
- COMPLETED_STATUS : mixed = "COMPLETED"
- CREDIT_CARD : mixed = "CREDIT_CARD"
- DELIVERY_CASH : mixed = "DELIVERY_CASH"
- DJOMY : mixed = "DJOMY"
- MANUAL : mixed = "MANUAL"
- ORANGE_MONEY : mixed = "ORANGE_MONEY"
- PENDING_STATUS : mixed = "PENDING"
- PRO_SUBSCRIPTION : mixed = "PRO_SUBSCRIPTION"
- PROVIDER_FAILED_STATUSES : mixed = ['FAILED', 'CANCELLED', 'TIMEOUT']
- Provider statuses meaning the online attempt did not succeed (the payment itself stays PENDING).
- REJECTED_STATUS : mixed = "REJECTED"
Properties
- $amount : string|null
- $card : Card|null
- $company : Company|null
- $createdAt : DateTimeImmutable|null
- $id : int|null
- $order : Order|null
- $paymentMethod : string|null
- $provider : string|null
- $providerReference : string|null
- $providerReturnToken : string|null
- $providerStartedAt : DateTimeImmutable|null
- $providerStatus : string|null
- $providerStatusAt : DateTimeImmutable|null
- $providerTransactionId : string|null
- $status : string|null
- $stripePaymentIntentId : string|null
- $subscription : Subscription|null
- $updatedAt : DateTimeImmutable|null
- $user : User|null
Methods
- getAmount() : string|null
- getAmout() : string|null
- getCard() : Card|null
- getCompany() : Company|null
- getCreatedAt() : DateTimeImmutable|null
- getId() : int|null
- getOrder() : Order|null
- getPaymentMethod() : string|null
- getProvider() : string|null
- getProviderReference() : string|null
- getProviderReturnToken() : string|null
- getProviderStartedAt() : DateTimeImmutable|null
- getProviderStatus() : string|null
- getProviderStatusAt() : DateTimeImmutable|null
- getProviderTransactionId() : string|null
- getStatus() : string|null
- getStripePaymentIntentId() : string|null
- getSubscription() : Subscription|null
- getUpdatedAt() : DateTimeImmutable|null
- getUser() : User|null
- setAmount() : static
- setAmout() : static
- setCard() : static
- setCompany() : static
- setCreatedAt() : static
- setOrder() : static
- setPaymentMethod() : static
- setProvider() : static
- setProviderReference() : static
- setProviderReturnToken() : static
- setProviderStartedAt() : static
- setProviderStatus() : static
- setProviderStatusAt() : static
- setProviderTransactionId() : static
- setStatus() : static
- setStripePaymentIntentId() : static
- setSubscription() : static
- setUpdatedAt() : static
- setUser() : static
Constants
ACCEPTED_STATUS
public
mixed
ACCEPTED_STATUS
= "ACCEPTED"
COMPANY_FREE
public
mixed
COMPANY_FREE
= "COMPANY_FREE"
COMPLETED_STATUS
public
mixed
COMPLETED_STATUS
= "COMPLETED"
CREDIT_CARD
public
mixed
CREDIT_CARD
= "CREDIT_CARD"
DELIVERY_CASH
public
mixed
DELIVERY_CASH
= "DELIVERY_CASH"
DJOMY
public
mixed
DJOMY
= "DJOMY"
MANUAL
public
mixed
MANUAL
= "MANUAL"
ORANGE_MONEY
public
mixed
ORANGE_MONEY
= "ORANGE_MONEY"
PENDING_STATUS
public
mixed
PENDING_STATUS
= "PENDING"
PRO_SUBSCRIPTION
public
mixed
PRO_SUBSCRIPTION
= "PRO_SUBSCRIPTION"
PROVIDER_FAILED_STATUSES
Provider statuses meaning the online attempt did not succeed (the payment itself stays PENDING).
public
mixed
PROVIDER_FAILED_STATUSES
= ['FAILED', 'CANCELLED', 'TIMEOUT']
REJECTED_STATUS
public
mixed
REJECTED_STATUS
= "REJECTED"
Properties
$amount
private
string|null
$amount
= null
Attributes
- #[Column]
- $name: 'amout'
- $length: 100
$card
private
Card|null
$card
= null
Attributes
- #[ManyToOne]
- $inversedBy: 'payments'
$company
private
Company|null
$company
= null
Attributes
- #[JoinColumn]
- $nullable: true
- #[ManyToOne]
- $targetEntity: \App\Entity\Company::class
- $inversedBy: 'payments'
$createdAt
private
DateTimeImmutable|null
$createdAt
= null
Attributes
- #[Column]
- $name: 'created_at'
$id
private
int|null
$id
= null
Attributes
- #[Column]
- #[GeneratedValue]
- #[Id]
$order
private
Order|null
$order
= null
Attributes
- #[ManyToOne]
- $inversedBy: 'payments'
$paymentMethod
private
string|null
$paymentMethod
= null
Attributes
- #[Column]
- $length: 100
- $nullable: true
$provider
private
string|null
$provider
= null
Attributes
- #[Column]
- $length: 20
- $nullable: true
$providerReference
private
string|null
$providerReference
= null
Attributes
- #[Column]
- $length: 64
- $nullable: true
$providerReturnToken
private
string|null
$providerReturnToken
= null
Attributes
- #[Column]
- $length: 64
- $nullable: true
$providerStartedAt
private
DateTimeImmutable|null
$providerStartedAt
= null
Attributes
- #[Column]
- $type: 'datetime_immutable'
- $nullable: true
$providerStatus
private
string|null
$providerStatus
= null
Attributes
- #[Column]
- $length: 20
- $nullable: true
$providerStatusAt
private
DateTimeImmutable|null
$providerStatusAt
= null
Attributes
- #[Column]
- $type: 'datetime_immutable'
- $nullable: true
$providerTransactionId
private
string|null
$providerTransactionId
= null
Attributes
- #[Column]
- $length: 255
- $nullable: true
$status
private
string|null
$status
= null
Attributes
- #[Column]
- $length: 50
$stripePaymentIntentId
private
string|null
$stripePaymentIntentId
= null
Attributes
- #[Column]
- $length: 255
- $nullable: true
$subscription
private
Subscription|null
$subscription
= null
Attributes
- #[JoinColumn]
- $nullable: true
- #[ManyToOne]
- $targetEntity: \App\Entity\Subscription::class
$updatedAt
private
DateTimeImmutable|null
$updatedAt
= null
Attributes
- #[Column]
$user
private
User|null
$user
= null
Attributes
- #[ManyToOne]
- $inversedBy: 'payments'
Methods
getAmount()
public
getAmount() : string|null
Return values
string|nullgetAmout()
public
getAmout() : string|null
Return values
string|nullgetCard()
public
getCard() : Card|null
Return values
Card|nullgetCompany()
public
getCompany() : Company|null
Return values
Company|nullgetCreatedAt()
public
getCreatedAt() : DateTimeImmutable|null
Return values
DateTimeImmutable|nullgetId()
public
getId() : int|null
Return values
int|nullgetOrder()
public
getOrder() : Order|null
Return values
Order|nullgetPaymentMethod()
public
getPaymentMethod() : string|null
Return values
string|nullgetProvider()
public
getProvider() : string|null
Return values
string|nullgetProviderReference()
public
getProviderReference() : string|null
Return values
string|nullgetProviderReturnToken()
public
getProviderReturnToken() : string|null
Return values
string|nullgetProviderStartedAt()
public
getProviderStartedAt() : DateTimeImmutable|null
Return values
DateTimeImmutable|null —Moment où la dernière transaction du prestataire a été créée.
getProviderStatus()
public
getProviderStatus() : string|null
Return values
string|null —Dernier statut connu côté prestataire, en majuscules (CREATED, PENDING, SUCCESS, FAILED, CANCELLED, TIMEOUT…). Purement informatif : n'influence pas status.
getProviderStatusAt()
public
getProviderStatusAt() : DateTimeImmutable|null
Return values
DateTimeImmutable|null —Moment où providerStatus a été enregistré pour la dernière fois.
getProviderTransactionId()
public
getProviderTransactionId() : string|null
Return values
string|nullgetStatus()
public
getStatus() : string|null
Return values
string|nullgetStripePaymentIntentId()
public
getStripePaymentIntentId() : string|null
Return values
string|nullgetSubscription()
public
getSubscription() : Subscription|null
Return values
Subscription|nullgetUpdatedAt()
public
getUpdatedAt() : DateTimeImmutable|null
Return values
DateTimeImmutable|nullgetUser()
public
getUser() : User|null
Return values
User|nullsetAmount()
public
setAmount(string $amount) : static
Parameters
- $amount : string
Return values
staticsetAmout()
public
setAmout(string $amout) : static
Parameters
- $amout : string
Return values
staticsetCard()
public
setCard(Card|null $card) : static
Parameters
- $card : Card|null
Return values
staticsetCompany()
public
setCompany(Company|null $company) : static
Parameters
- $company : Company|null
Return values
staticsetCreatedAt()
public
setCreatedAt(DateTimeImmutable $createdAt) : static
Parameters
- $createdAt : DateTimeImmutable
Return values
staticsetOrder()
public
setOrder(Order|null $order) : static
Parameters
- $order : Order|null
Return values
staticsetPaymentMethod()
public
setPaymentMethod(string|null $paymentMethod) : static
Parameters
- $paymentMethod : string|null
Return values
staticsetProvider()
public
setProvider(string|null $provider) : static
Parameters
- $provider : string|null
Return values
staticsetProviderReference()
public
setProviderReference(string|null $providerReference) : static
Parameters
- $providerReference : string|null
Return values
staticsetProviderReturnToken()
public
setProviderReturnToken(string|null $providerReturnToken) : static
Parameters
- $providerReturnToken : string|null
Return values
staticsetProviderStartedAt()
public
setProviderStartedAt(DateTimeImmutable|null $providerStartedAt) : static
Parameters
- $providerStartedAt : DateTimeImmutable|null
Return values
staticsetProviderStatus()
public
setProviderStatus(string|null $providerStatus) : static
Parameters
- $providerStatus : string|null
Return values
staticsetProviderStatusAt()
public
setProviderStatusAt(DateTimeImmutable|null $providerStatusAt) : static
Parameters
- $providerStatusAt : DateTimeImmutable|null
Return values
staticsetProviderTransactionId()
public
setProviderTransactionId(string|null $providerTransactionId) : static
Parameters
- $providerTransactionId : string|null
Return values
staticsetStatus()
public
setStatus(string $status) : static
Parameters
- $status : string
Return values
staticsetStripePaymentIntentId()
public
setStripePaymentIntentId(string|null $stripePaymentIntentId) : static
Parameters
- $stripePaymentIntentId : string|null
Return values
staticsetSubscription()
public
setSubscription(Subscription|null $subscription) : static
Parameters
- $subscription : Subscription|null
Return values
staticsetUpdatedAt()
public
setUpdatedAt(DateTimeImmutable $updatedAt) : static
Parameters
- $updatedAt : DateTimeImmutable
Return values
staticsetUser()
public
setUser(User|null $user) : static
Parameters
- $user : User|null