The Payment Integration Project provides a unified interface for processing payment transactions through different payment providers (e.g., aci, shift4). This document outlines the key endpoint, request parameters, and response structure.
docker-compose up
composer installphp bin/console app:create-test-payment-transaction {aci|shift4}php ./vendor/bin/phpunit{
"route": "/api/payment-transactions/{integration<aci|shift4>}",
"method": "POST"
}Description:
Handles payment transactions for the specified integration (aci or shift4).
{
"moneyAmount": {
"amount": 50.00,
"currencyCode": "EUR"
},
"debitCard": {
"number": "4263982640269299",
"expMonth": "02",
"expYear": "2026",
"cvv": "837"
}
}- moneyAmount: Contains the amount and currency for the transaction.
- amount: The monetary value of the transaction (e.g., 50.00).
- currencyCode: ISO 4217 currency code (e.g.,
EUR).
- debitCard: Contains the debit card details for the transaction.
- number: The 16-digit debit card number.
- expMonth: The card’s expiration month (e.g.,
02for February). - expYear: The card’s expiration year (e.g.,
2026). - cvv: The card’s 3-digit CVV security code.
{
"transactionId": "1234567890",
"dateOfCreating": "2025-01-12T10:15:30Z",
"moneyAmount": {
"amount": 50.00,
"currencyCode": "EUR"
},
"cardBin": "426398"
}- transactionId: A unique identifier for the transaction.
- dateOfCreating: The date and time the transaction was created.
- moneyAmount: The monetary value and currency of the transaction.
- amount: The monetary value as a float.
- currencyCode: The currency code as per ISO 4217.
- cardBin: The Bank Identification Number (BIN) of the card used for the transaction.
{
"status": "error",
"message": "invalid cc number/brand combination",
"code": 0
}Copule of tweeks left such as logs, error codes and some integration schema modeling