Method: remittanceStatementDetails

Renvoie des informations détaillées sur les transactions d'un relevé de paiement.

Il s'agit d'une API paginée. Le nombre d'événements de transaction par page peut être spécifié avec numberOfEvents. Si aucune valeur n'est spécifiée, le nombre maximal de 1 000 événements sera renvoyé par page. Chaque requête envoyée à cette API renvoie un nextEventOffset pointant vers le prochain événement de transaction dans le relevé, ainsi qu'un totalEvents spécifiant le nombre total de transactions dans le relevé. Si la page récupérée actuelle contient les dernières transactions du relevé, nextEventOffset ne sera pas présent dans la réponse.

La valeur statementId correspond à requestId dans remittanceStatementNotificationRequest.

Si le point de terminaison rencontre une erreur lors du traitement de la requête, la réponse de ce point de terminaison sera de type ErrorResponse.

Les réponses à cette requête peuvent être vides si cette méthode ne renvoie pas un code HTTP 200. Le corps de la réponse est vide dans les situations où un ErrorResponse avec une description claire pourrait être utilisé pour aider un pirate informatique à comprendre l'identifiant de compte d'intégrateur de paiement d'autres intégrateurs. Dans ces situations, où la clé de signature ne correspond pas, l'identifiant de l'intégrateur de paiement est introuvable ou la clé de chiffrement est inconnue, cette méthode renvoie un code HTTP 404 avec un corps vide. Si la signature de la requête peut être vérifiée, des informations supplémentaires sur l'erreur seront renvoyées dans le corps de la réponse.

Voici un exemple de requête :


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "statement_detail_request_139932019",
    "requestTimestamp": "1502551332087"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "statementId": "0123434-statement-abc",
  "numberOfEvents": 4
}

Voici un exemple de réponse :


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "eventOffset": 0,
  "nextEventOffset": 4,
  "totalEvents": 15,
  "remittanceStatementSummary": {
    "statementDate": "1502521200000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502434800000"
    },
    "dateDue": "1502348400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  },
  "captureEvents": [
    {
      "eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
      "paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
      "eventCharge": "700000000",
      "eventFee": "-28000000"
    },
    {
      "eventRequestId": "Ggghvh78200PQ3Yrpb",
      "paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
      "eventCharge": "800000000",
      "eventFee": "-32000000"
    }
  ],
  "refundEvents": [
    {
      "eventRequestId": "liUrreQY233839dfFFb24gaQM",
      "paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
      "eventCharge": "-200000000",
      "eventFee": "8000000"
    },
    {
      "eventRequestId": "IIghhhUrreQY233839II9qM==",
      "paymentIntegratorEventId": "DFjidoso12FSDFSDE",
      "eventCharge": "-150000000",
      "eventFee": "6000000"
    }
  ]
}

Requête HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
Champs
requestHeader

object (RequestHeader)

OBLIGATOIRE : en-tête commun à toutes les requêtes.

paymentIntegratorAccountId

string

OBLIGATOIRE : identifiant du compte de l'intégrateur de paiement qui identifie les contraintes contractuelles liées à cette déclaration.

statementId

string

OBLIGATOIRE : ID de la demande de notification de relevé.

eventOffset

integer

FACULTATIF : événements de retour commençant à ce décalage. Cette valeur doit être définie sur nextEventOffset si elle a été renvoyée ou laissée non spécifiée s'il s'agit de la première requête. Si eventOffset est défini sur zéro, les événements sont renvoyés en commençant par le premier événement. Si cette valeur est définie sur "2", les événements seront renvoyés à partir du troisième événement. Si aucune valeur n'est spécifiée, eventOffset est considéré comme nul.

numberOfEvents

integer

FACULTATIF : nombre d'événements à afficher par page. Si cette valeur n'est pas spécifiée ou est supérieure à 1 000, elle sera définie sur 1 000.

Corps de la réponse

Objet de réponse pour la méthode de détail du relevé de paiement.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
Champs
responseHeader

object (ResponseHeader)

OBLIGATOIRE : en-tête commun à toutes les réponses.

remittanceStatementSummary

object (RemittanceStatementSummary)

OBLIGATOIRE : résumé de ce relevé de versement.

eventOffset

integer

OBLIGATOIRE : décalage de l'événement de cette réponse.

nextEventOffset

integer

FACULTATIF : décalage du prochain événement à renvoyer. Si aucune valeur n'est spécifiée, cela signifie qu'il n'y a plus d'événements à récupérer pour cette instruction.

totalEvents

integer

OBLIGATOIRE : nombre total d'événements dans cette déclaration.

totalWithholdingTaxes

string (Int64Value format)

OBLIGATOIRE : somme de toutes les taxes retenues pour ce relevé.

Cette valeur est exprimée en micros.

captureEvents[]

object (Event)

OBLIGATOIRE : ensemble d'événements de capture.

refundEvents[]

object (Event)

OBLIGATOIRE : ensemble d'événements de remboursement.

reverseRefundEvents[]

object (Event)

FACULTATIF : Ensemble d'événements de remboursement inversé.

chargebackEvents[]

object (Event)

FACULTATIF : ensemble d'événements de rétrofacturation.

reverseChargebackEvents[]

object (Event)

FACULTATIF : Ensemble d'événements de rejet de débit annulé.

adjustmentEvents[]

object (Event)

FACULTATIF : ensemble d'événements d'ajustement. Des événements d'ajustement peuvent être ajoutés à la discrétion de Google pour corriger les écarts de facturation. Par exemple, si des frais ont été sous-calculés pour un ensemble de transactions précédentes, un ajustement peut être utilisé pour compenser l'intégrateur.

RemittanceStatementSummary

Objet récapitulatif concernant un relevé de paiement.

Représentation JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Champs
statementDate

string (int64 format)

OBLIGATOIRE : date (en Amérique/Los Angeles) à laquelle cette déclaration a été créée.

billingPeriod

object (BillingPeriod)

OBLIGATOIRE : période de facturation couverte par ce relevé.

dateDue

string (int64 format)

FACULTATIF : date à laquelle le paiement est dû. Elle est exprimée en millisecondes depuis l'epoch. Il s'agit d'une date (qui commencera donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation).

Cette valeur est définie tant que totalDueByIntegrator est supérieur à 0.

currencyCode

string

OBLIGATOIRE : code de devise ISO 4217 à trois lettres.

totalDueByIntegrator

string (Int64Value format)

OBLIGATOIRE : cette valeur est exprimée en micros dans la devise de currencyCode. Cette valeur est toujours positive.

remittanceInstructions

object (RemittanceInstructions)

OBLIGATOIRE : informations sur la façon d'effectuer le paiement

BillingPeriod

Période de facturation de ce relevé.

Représentation JSON
{
  "startDate": string,
  "endDate": string
}
Champs
startDate

string (int64 format)

OBLIGATOIRE : date de début de la période de facturation. Elle est exprimée en millisecondes depuis l'epoch. Il s'agit d'une date (qui commencera donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation).

Il s'agit de la première milliseconde de la journée de la période de facturation, soit 00:00:00.000.

endDate

string (int64 format)

OBLIGATOIRE : date de fin de la période de facturation. Elle est exprimée en millisecondes depuis l'epoch.

Il s'agit de la dernière milliseconde du dernier jour de la période de facturation, soit 23:59:59.999.

RemittanceInstructions

Structure contenant des informations sur le paiement de cette notification d'avis de paiement.

Représentation JSON
{
  "memoLineId": string
}
Champs
memoLineId

string

OBLIGATOIRE : identifiant à indiquer obligatoirement dans la ligne de note du paiement pour identifier le versement.

Événement

Structure représentant un seul événement inclus dans un relevé de paiement.

Représentation JSON
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
Champs
eventRequestId

string

OBLIGATOIRE : pour les événements de capture ou de remboursement, il s'agit du requestId que Google envoie avec la demande. Pour les événements de remboursement inversé, de rejet de débit et de rejet de débit annulé, il s'agit du requestId que l'intégrateur de paiement envoie avec la notification de cet événement. Pour les ajustements, il s'agit d'un identifiant unique attribué par Google à l'événement d'ajustement.

paymentIntegratorEventId

string

OBLIGATOIRE : ID renvoyé par l'intégrateur de paiement pour cet événement. Pour une capture, il s'agit de l'paymentIntegratorTransactionId de la réponse à un appel capture. Pour un remboursement, il s'agit de l'paymentIntegratorRefundId de la réponse à un appel refund.

Ce champ est de longueur variable. En tant qu'intégrateur, l'ID que vous fournissez pour cet événement sera reflété ici. Si l'intégrateur n'a pas fourni de valeur pour l'événement correspondant, ce champ contiendra la même valeur que le champ eventRequestId.

Pour les événements de remboursement inversé, de rejet de débit et de rejet de débit annulé, il s'agit du requestId que l'intégrateur de paiement a envoyé avec la notification de l'événement.

La longueur et le format de ce champ dépendent du champ source pour chaque ID. Pour en savoir plus sur la longueur et les exigences concernant le jeu de caractères, consultez la documentation de chacun des champs sources. Notez en particulier que ce champ peut parfois contenir des ID générés par Google, qui peuvent avoir des exigences de longueur maximale différentes de celles des ID générés par l'intégrateur.

eventCharge

string (Int64Value format)

OBLIGATOIRE : dans le code de devise défini par le relevé. Si cette valeur est négative, elle représente la valeur monétaire transférée de Google à l'intégrateur de paiement. Si cette valeur est positive, il s'agit de l'argent dû à Google par l'intégrateur de paiement.

Par exemple, les transactions de capture seront toujours positives et les transactions de remboursement seront toujours négatives. Les événements de remboursement inversé et de rejet de débit annulé seront toujours positifs. Les événements de rétrofacturation seront toujours négatifs.

Cette valeur est exprimée en micros.

eventFee

string (Int64Value format)

OBLIGATOIRE : dans le code de devise défini par le relevé. Si cette valeur est négative, elle représente la valeur monétaire transférée de Google à l'intégrateur de paiement. Si cette valeur est positive, il s'agit de l'argent dû à Google par l'intégrateur de paiement.

Par exemple, si un contrat stipule que Google versera 1 % du transactionCharge à l'intégrateur de paiement et que ce montant sera inversé en cas de remboursement de la transaction, les frais de capture seront négatifs et les frais de remboursement seront positifs.

Cette valeur est exprimée en micros.

presentmentChargeAmount

string (Int64Value format)

FACULTATIF : Montant de la transaction dans la devise de présentation (ou devise de la transaction) avant le change. Ce champ suit la même convention de signe que le champ eventCharge.

Cette valeur est exprimée en micros.

presentmentCurrencyCode

string

FACULTATIF : code de devise ISO 4217 à trois lettres indiquant la devise de présentation (transaction).

exchangeRate
(deprecated)

string (Int64Value format)

OBSOLÈTE : taux de change utilisé pour convertir le montant de présentation en montant de règlement (facture).

Cette valeur est exprimée en micro points de base (1 point de base = 0,0001 = 0,01%). En d'autres termes, pour obtenir le taux de change, divisez ce champ par 10^10.

nanoExchangeRate

string (Int64Value format)

FACULTATIF : taux de change utilisé pour convertir le montant de la présentation en montant du règlement (facture), exprimé en nano points de base.

Cette valeur est exprimée en nano points de base (1 point de base = 0,0001 = 0,01%). Autrement dit, pour obtenir le taux de change, divisez ce champ par 10^13.

Ce champ et celui de exchangeRate seront renseignés. Il s'agit de taux de change équivalents exprimés avec une précision différente. Dans les prochaines versions, exchangeRate sera supprimé au profit de nanoExchangeRate.