Pour toute question, nous sommes à un clic

Poser une question

Données de paiement sauvegardées

Aperçu

Les données de paiement sauvegardées sont utilisées lorsqu'un client autorise un marchand à stocker les informations de paiement pour des paiements ultérieurs. Par exemple, un payeur peut choisir de sauvegarder sa carte lors du paiement. Dans ce cas, un jeton unique est généré par la passerelle de paiement qui lie le numéro de carte du payeur (PAN) à son ID dans le système du magasin (par exemple, au login du payeur).

Stockage d'une méthode de paiement

Vous pouvez stocker une méthode de paiement pendant le paiement. À cette fin, vous devez créer une Session (si l'intégration par redirection est utilisée) en utilisant la méthode /sessions ou créer un paiement (si l'intégration directe est utilisée) en utilisant la méthode /payments (voir la Référence API pour plus de détails). Dans chacune de ces méthodes, vous devez spécifier les paramètres suivants :

Obligatoire Nom Type Description
Obligatoire storePaymentMethodMode String Contrôle la façon dont la méthode de paiement est stockée dans le système de passerelle. Valeurs possibles : enabled, disabled, forced.
Obligatoire category String Catégorie de la méthode de paiement qui sera stockée pour utilisation future. Valeurs autorisées :
  • unscheduled — pour les paiements qui ne sont liés à aucun plan ou calendrier. Par exemple, lorsqu'un client fait une nouvelle commande et la paie en utilisant des données de carte précédemment sauvegardées.
  • recurrent — pour les paiements qui se produisent selon un calendrier fixe. Par exemple, les factures d'utilités mensuelles.
  • installment — pour le paiement par versements, lorsqu'un client paie une facture en petites portions tout au long d'une période fixe selon un plan de paiement.
Conditionnel recurringModel Object Paramètres de configuration supplémentaires pour les catégories de méthodes de paiement récurrentes et par versements. Est obligatoire lorsque la catégorie recurrent ou incremental est utilisée.
Conditionnel recurringModel.recurrent Object Attributs de paiement récurrent. Est obligatoire lorsque la catégorie recurrent est utilisée.
Obligatoire recurringModel.recurrent.expiry String La date après laquelle les paiements ne sont pas autorisés. Le format est "YYYY-MM-dd".
Obligatoire recurringModel.recurrent.frequency Number Nombre minimum de jours entre les paiements (<=4000).
Conditional recurringModel.installment Object Recurrent payment attributes. Is mandatory when incremental category is used.
Mandatory recurringModel.installment.expiry String The date after which payments are not allowed.
Mandatory recurringModel.installment.frequency Number Minimum number of days between payments (<=4000).
Mandatory recurringModel.installment.phase Number Maximum number of allowed authorizations for installment payments. (<=1000).
Mandatory recurringModel.installment.totalAmount Number Total amount of all installment payments.

Example of setupFutureUsage section:

"setupFutureUsage": {
        "category": "recurrent",
        "recurringModel": {
            "recurrent": {
                "expiry": "2025-08-24",
                "frequency": 2
            }
        }
    }

After successfull payment, the Payment Method will be stored. The identifier of the created Stored Payment Method will be returned in the following webhooks:

For details, refer to Webhooks.

You can also retrieve the identifier of the created Stored Payment Method by sending the /payments/{id} request where id is the identifier of the Payment. The identifier of the Store Payment Method will be returned in the storedPaymentMethod.id parameter of the response. For details, refer to API Reference.

Retrieving Stored Payment Methods

Pour récupérer une méthode de paiement particulière, utilisez la requête GET paymentMethods/{id}, où id est l'identifiant de la méthode de paiement. La passerelle de paiement retournera l'objet PaymentMethod avec l'identifiant spécifié. Pour plus de détails, référez-vous à la Référence API.

Exemple de requête :

curl -X GET "https://dev.bpcbt.com/api2/paymentMethods/pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq"\
  -H "X-Api-Key: 6HUXQFbeomV1zf5i8cgm5W8KfncENVEa5uh8RngB" \
  -H "X-Version: 2023-10-31" \

Exemple de réponse :

{
    "id": "pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq",
    "active": true,
    "card": {
        "expiryMonth": 12,
        "expiryYear": 2024,
        "holderName": "TEST CARDHOLDER",
        "maskedNumber": "411111**1111"
    },
    "category": "recurrent",
    "created": "2024-05-02T05:45:21Z",
    "merchantCustomerId": "12345",
    "type": "card"
}

Vous pouvez également récupérer la liste de toutes les données de paiement sauvegardées d'un client particulier. À cette fin, utilisez la requête /customers/{id}/paymentMethodsid est un identifiant du client. Pour plus de détails, référez-vous à la Référence API.

Exemple de requête :

curl -X GET "https://dev.bpcbt.com/api2/customers/12345/paymentMethods" \
  -H "X-Api-Key: 6HUXQFbeomV1zf5i8cgm5W8KfncENVEa5uh8RngB" \
  -H "X-Version: 2023-10-31" \

Exemple de réponse :

{
    "hasMore": false,
    "list": [
        {
            "id": "pm_RkTTfDXaEx13ayyYDayK4HpJSxex6kEmBjjQfVHSxMQUvQ6rD",
            "active": true,
            "card": {
                "expiryMonth": 12,
                "expiryYear": 2024,
                "holderName": "TEST CARDHOLDER",
                "maskedNumber": "444455**3333"
            },
            "category": "unscheduled",
            "created": "2024-04-01T03:28:58Z",
            "merchantCustomerId": "12345",
            "type": "card"
        },
        {
            "id": "pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq",
            "active": true,
            "card": {
                "expiryMonth": 12,
                "expiryYear": 2024,
                "holderName": "TEST CARDHOLDER",
                "maskedNumber": "411111**1111"
            },
            "category": "recurrent",
            "created": "2024-05-02T05:45:21Z",
            "merchantCustomerId": "12345",
            "type": "card"
        }
    ]
}

Mise à jour des données de paiement sauvegardées

Vous pouvez activer ou désactiver le Moyen de paiement ainsi que modifier sa date d'expiration en utilisant la requête POST /paymentMethods/{id}, où id est l'identifiant du Moyen de paiement. La requête doit contenir les paramètres suivants :

Pour plus de détails, consultez Référence API.

Exemple de requête :

curl -X POST "https://dev.bpcbt.com/api2/paymentMethods/pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq" \
-H "X-Api-Key: 6HUXQFbeomV1zf5i8cgm5W8KfncENVEa5uh8RngB" \
-H "X-Version: 2023-10-31" \
-H "Content-Type: application/json" \
-d '{
    "active": true,
    "expiryDate": "2025-08-24"
}'

Exemple de réponse :

{
    "id": "pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq",
    "active": true,
    "card": {
        "expiryMonth": 8,
        "expiryYear": 2025,
        "holderName": "TEST CARDHOLDER",
        "maskedNumber": "411111**1111"
    },
    "category": "recurrent",
    "created": "2024-05-02T05:45:21Z",
    "merchantCustomerId": "12345",
    "type": "card"
}

Payer avec des Données de paiement sauvegardées

Pour payer en utilisant des Données de paiement sauvegardées, il est nécessaire de transmettre son identifiant dans le paramètre storedPaymentMethod.id de la requête de création de paiement (/payments). Pour plus de détails, consultez Référence API.

Exemple de requête :

curl -X POST "https://dev.bpcbt.com/api2/payments" \
-H "X-Api-Key: 6HUXQFbeomV1zf5i8cgm5W8KfncENVEa5uh8RngB" \
-H "X-Version: 2023-10-31" \
-H "Content-Type: application/json" \
-d '{
  "amount": 11000,
  "currency": "EUR",  
  "description": "Some description",
  "merchantCustomerId": "12345",
  "metadata": {},
  "storedPaymentMethod": {
      "id": "pm_RqN18WngsfAohSze48DUcjQSYceYqW7iJSm25RHJwSkRduEkq"
  },
  "returnUrl": "https://mybestmerchantreturnurl.com/"
  }
}'
Catégories:
eCommerce API V2
Catégories
Résultats de recherche