Method: remittanceStatementDetails

Renvoie les informations détaillées sur la transaction concernant un relevé de paiement.

Il s'agit d'une API paginée. Vous pouvez spécifier le nombre d'événements de transaction par page avec numberOfEvents. Si aucune valeur n'est spécifiée, un maximum de 1 000 événements est renvoyé par page. Chaque requête envoyée à cette API renvoie un nextEventOffset qui pointe vers le prochain événement de transaction dans l'instruction, ainsi qu'un totalEvents spécifiant le nombre total de transactions dans l'instruction. Si la page actuellement récupérée contient les dernières transactions de l'instruction, nextEventOffset ne sera pas présent dans la réponse.

La valeur statementId correspond au requestId de remittanceStatementNotificationRequest

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

Les réponses à cette requête peuvent être vides si cette méthode ne renvoie pas de réponse HTTP 200. Le corps de la réponse est vide dans les situations où un élément 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, lorsque 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 une erreur HTTP 404 avec un corps vide. Si la signature de la requête peut être validée, des informations supplémentaires sur l'erreur seront renvoyées dans le corps de la réponse.

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
}

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)

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

paymentIntegratorAccountId

string

OBLIGATOIRE: il s'agit de l'identifiant de compte de l'intégrateur de paiements qui identifie les contraintes contractuelles liées à cet relevé.

statementId

string

REQUIRED: ID de requête de la notification de relevé.

eventOffset

integer

FACULTATIF: affiche les événements à partir de ce décalage. Ce champ doit être défini sur nextEventOffset s'il a été renvoyé ou non spécifié s'il s'agit de la première requête. Si eventOffset est égal à zéro, les événements sont renvoyés à partir du premier événement. Si la valeur est deux, les événements seront renvoyés à partir du troisième événement. Si aucune valeur n'est spécifiée, la valeur eventOffset est considérée comme nulle.

numberOfEvents

integer

FACULTATIF: nombre d'événements à afficher par page. Si aucune valeur n'est spécifiée ou si elle est supérieure à 1 000, cette valeur est égale à 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)

REQUIRED: en-tête commun pour toutes les réponses.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: résumé de cette déclaration de paiement.

eventOffset

integer

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

nextEventOffset

integer

FACULTATIF: décalage de l'événement suivant à renvoyer. Si aucune valeur n'est spécifiée, il n'y a plus d'événements à récupérer pour cette instruction.

totalEvents

integer

REQUIRED: nombre total d'événements dans cette instruction.

totalWithholdingTaxes

string (Int64Value format)

OBLIGATOIRE: somme de l'ensemble des taxes retenues pour ce relevé.

Cette valeur est en micros.

captureEvents[]

object (Event)

REQUIRED: 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 rejet de débit.

reverseChargebackEvents[]

object (Event)

FACULTATIF: ensemble d'événements de rejet de débit inversé.

adjustmentEvents[]

object (Event)

FACULTATIF: ensemble d'événements de réglage. Google peut ajouter des événements d'ajustement à la discrétion de Google pour rapprocher les écarts de facturation. Par exemple, si des frais ont été sous-calculés pour un ensemble de transactions antérieures, une ajustement peut être utilisée pour obtenir l'intégrateur complet.

RemittanceStatementSummary

Objet récapitulatif d'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)

REQUIRED: Date de création (en Amérique/Los Angeles) de cette déclaration.

billingPeriod

object (BillingPeriod)

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

dateDue

string (int64 format)

FACULTATIF: date à laquelle le paiement doit être effectué. Cette valeur est représentée par des millisecondes écoulées depuis l'epoch. Il s'agit d'une date (elle commence donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation).

Il est défini tant que totalDueByIntegrator est supérieur à 0.

currencyCode

string

OBLIGATOIRE: code de devise à trois lettres ISO 4217.

totalDueByIntegrator

string (Int64Value format)

OBLIGATOIRE: cette valeur est en micro-unités, dans la devise de currencyCode. Cette valeur est toujours positive.

remittanceInstructions

object (RemittanceInstructions)

OBLIGATOIRE: Modalités de paiement

Période de facturation

Période de facturation associée à ce relevé.

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

string (int64 format)

REQUIRED: date de début de la période de facturation. Cette valeur est représentée par des millisecondes écoulées depuis l'epoch. Il s'agit d'une date (elle commence donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation).

Il s'agit de la première milliseconde du jour de la période de facturation, 00:00:00.000

endDate

string (int64 format)

REQUIRED: date de fin de la période de facturation. Cette valeur est représentée par des millisecondes écoulées depuis l'epoch.

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

Instructions de versement

Structure contenant des informations sur le paiement de cette notification de paiement.

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

string

OBLIGATOIRE: identifiant à ajouter à 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 de l'requestId envoyé par Google avec la demande. Pour les événements de remboursement, rejet de débit ou rejet de débit inversé, il s'agit de l'requestId envoyé par l'intégrateur de paiement 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 paiements pour cet événement. Pour une capture, il s'agit du paymentIntegratorTransactionId de la réponse à un appel capture. Pour un remboursement, il s'agit du paymentIntegratorRefundId de la réponse à un appel refund.

Ce champ a une longueur variable, car l'intégrateur que vous fournissez pour cet événement s'affichera ici. Si aucune valeur n'a été fournie par l'intégrateur pour l'événement correspondant, ce champ contiendra la même valeur que le champ eventRequestId.

Pour les événements de remboursement, rejet de débit ou rejet de débit inversé, il s'agit de la requestId envoyée par l'intégrateur de paiement lors de la notification de l'événement.

La longueur et le format de ce champ dépendent du champ source de chaque ID. Consultez la documentation de chacun des champs sources pour en savoir plus sur les exigences liées à la longueur et au jeu de caractères. Notez en particulier que ce champ peut parfois contenir des identifiants générés par Google dont la longueur maximale peut être différente de celle des identifiants générés par l'intégrateur.

eventCharge

string (Int64Value format)

OBLIGATOIRE: dans le code de devise défini par l'instruction. Si cette valeur est négative, il s'agit de la valeur monétaire déplacée de Google vers l'intégrateur de paiement. S'il est positif, il s'agit d'une somme provenant de Google pour l'intégrateur de paiements.

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

Cette valeur est en micros.

eventFee

string (Int64Value format)

OBLIGATOIRE: dans le code de devise défini par l'instruction. Si cette valeur est négative, il s'agit de la valeur monétaire déplacée de Google vers l'intégrateur de paiement. S'il est positif, il s'agit d'une somme provenant de Google pour l'intégrateur de paiements.

Par exemple, si un accord stipule que Google versera 1 % de la transactionCharge à l'intégrateur de paiement et qu'il l'annulera lors du remboursement de cette transaction, les frais de capture seront négatifs et les frais de remboursement seront positifs.

Cette valeur est en micros.

presentmentChargeAmount

string (Int64Value format)

FACULTATIF: Montant de la transaction dans la devise du jour (ou transaction) avant le change. Ce champ suit la même convention de signature que le champ eventCharge.

Cette valeur est en micros.

presentmentCurrencyCode

string

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

exchangeRate

string (Int64Value format)

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

Cette valeur est exprimée en micro points de base (1 point de base = 0,0001 = 0,01%). Autrement dit, 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 nanopoints.

Cette valeur est en points de base nano (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 "ExchangeRate" (Taux de change) seront tous les deux renseignés. Il s'agit de taux de change équivalents, exprimés avec une précision différente. Dans les futures versions, ExchangeRate sera supprimé au profit de nanoExchangeRate.