Method: remittanceStatementDetails

Affiche les détails d'une transaction sur 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 d'événements est renvoyé par page (1 000). Chaque requête envoyée à cette API renvoie un nextEventOffset pointant vers l'événement de transaction suivant dans l'instruction, ainsi que 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, 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 de code HTTP 200. Le corps de la réponse est vide dans les cas 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 les cas où la clé de signature ne correspond pas, que l'identifiant de l'intégrateur de paiement est introuvable ou que la clé de chiffrement est inconnue, cette méthode renvoie une réponse HTTP 404 avec un corps vide. Si la signature de la requête a pu être vérifiée, des informations supplémentaires sur l'erreur sont 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 pour toutes les requêtes.

paymentIntegratorAccountId

string

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

statementId

string

OBLIGATOIRE: ID de requête de la notification d'instruction.

eventOffset

integer

FACULTATIF: renvoie les événements à partir de ce décalage. Elle doit être définie sur nextEventOffset si une valeur a été renvoyée ou si elle n'est pas spécifiée 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 cette valeur est définie sur deux, les événements sont renvoyés à partir du troisième événement. Si aucune valeur n'est spécifiée, eventOffset est considéré comme étant zéro.

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, la valeur sera 1 000.

Corps de la réponse

Objet réponse pour la méthode de l'instruction de paiement détaillée.

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 pour toutes les réponses.

remittanceStatementSummary

object (RemittanceStatementSummary)

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

eventOffset

integer

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

nextEventOffset

integer

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

totalEvents

integer

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

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

reverseChargebackEvents[]

object (Event)

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

adjustmentEvents[]

object (Event)

FACULTATIF: ensemble d'événements d'ajustement. Google peut ajouter des événements d'ajustement à sa seule discrétion pour rapprocher les écarts de facturation. Par exemple, si les frais ont été sous-calculs pour un ensemble de transactions précédentes, un ajustement peut être utilisé pour reconstituer l'intégralité de 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 instruction a été créée.

billingPeriod

object (BillingPeriod)

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

dateDue

string (int64 format)

FACULTATIF: date à laquelle le versement est dû. Elle est exprimée en millisecondes à partir de 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).

Ce paramètre est défini tant que la valeur de totalDueByIntegrator est supérieure à 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 currencyCode. Cette valeur est toujours positive.

remittanceInstructions

object (RemittanceInstructions)

OBLIGATOIRE: indique comment procéder au 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 à partir de 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, 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 à partir de l'epoch.

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

RemittanceInstructions

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

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

string

OBLIGATOIRE: identifiant à placer sur la ligne de note pour le paiement afin d'identifier le versement.

Événement

Structure représentant un seul événement inclus dans une instruction 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 que Google envoie avec la requête. Pour les événements de remboursement inversé, de rejet de débit et de rejet de débit, il s'agit de l'requestId que l'intégrateur de paiements 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 que l'intégrateur de paiement a renvoyé 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.

La longueur de ce champ est variable. En tant qu'intégrateur, l'ID que vous fournissez pour cet événement s'affiche 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, il s'agit de l'requestId que l'intégrateur de paiements a envoyée avec la notification de l'événement.

La longueur et le format de ce champ dépendent du champ source pour chaque ID. Reportez-vous à la documentation de chacun des champs source pour en savoir plus sur les exigences concernant la longueur et le jeu de caractères. Notez en particulier que ce champ peut parfois contenir des ID générés par Google dont la longueur maximale peut être différente de celle des ID 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 transférée de Google vers l'intégrateur de paiement. Si la valeur est positive, il s'agit de l'argent de l'intégrateur de paiement dû à Google.

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

Cette valeur est exprimée 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 transférée de Google vers l'intégrateur de paiement. Si la valeur est positive, il s'agit de l'argent de l'intégrateur de paiement dû à Google.

Par exemple, si un accord indique que Google versera 1% de transactionCharge à l'intégrateur de paiements et remboursera ce 1% lors du remboursement de la transaction, les frais de capture seront négatifs et, lors du remboursement, 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, avant modification des devises. Ce champ suit la même convention de signature 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 la transaction.

exchangeRate

string (Int64Value format)

FACULTATIF: taux de change utilisé pour convertir le montant de présentation en montant du règlement (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, vous devez diviser ce champ par 10^10.

nanoExchangeRate

string (Int64Value format)

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

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

Ce champ et le taux de change sont renseignés. Ces taux de change sont équivalents, avec une précision différente. Dans les futures versions, le taux de change sera supprimé au profit de nanoTaux de change.