Method: remittanceStatementDetails

Renvoie des informations détaillées sur la transaction au sujet d'un relevé de versement.

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, le nombre maximal d'événements renvoyés par page est de 1 000. Chaque requête adressé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 est la requestId de remittanceStatementNotificationRequest.

Si le point de terminaison rencontre une erreur lors du traitement de la requête, sa réponse est 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 de l'intégrateur de paiement d'autres intégrateurs. Dans les cas 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 une erreur HTTP 404 avec un corps vide. Si la signature de la requête a pu être vérifiée, des informations supplémentaires concernant 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 à toutes les requêtes.

paymentIntegratorAccountId

string

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

statementId

string

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

eventOffset

integer

FACULTATIF: renvoie les événements à partir de ce décalage. Ce champ doit être défini sur nextEventOffset si vous en avez renvoyé un ou n'est pas 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. S'il y en a deux, les événements sont renvoyés à partir du troisième. Si aucune valeur n'est spécifiée, eventOffset sera considéré comme égal à 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 de 1 000.

Corps de la réponse

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

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)

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

eventOffset

integer

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

nextEventOffset

integer

FACULTATIF: décalage de l'événement suivant à afficher. Si aucune valeur n'est 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 cette instruction.

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 annulé.

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. Des événements d'ajustement peuvent être ajoutés à la discrétion de Google pour rapprocher les écarts de facturation. Par exemple, si les frais ont été sous-calculés pour un ensemble de transactions antérieures, un ajustement peut être utilisé pour rendre l'intégrateur entier.

RemittanceStatementSummary

Objet Summary sur un relevé de versement.

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 ce relevé.

dateDue

string (int64 format)

FACULTATIF: date d'échéance du versement. Elle est exprimée en millisecondes depuis l'epoch. Il s'agit d'une date (qui 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 et 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 depuis l'epoch. Il s'agit d'une date (qui 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)

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, à 23:59:59,999

RemittanceInstructions

Structurez les informations contenant des informations sur le paiement de cette notification de versement.

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

string

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

Événement

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

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 requête. En cas de remboursement, de rejet de débit ou de rejet de débit annulé, il s'agit du 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 de l'intégrateur de paiement 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.

Ce champ est de longueur variable. En tant qu'intégrateur, l'ID que vous fournissez pour cet événement est reflété 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, de rejet de débit ou 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 de chaque ID. Reportez-vous à la documentation de chacun des champs sources pour en savoir plus sur les exigences en termes de longueur et de jeu de caractères. Notez en particulier que ce champ peut parfois contenir des ID générés par Google, qui peuvent présenter des exigences de longueur maximale différentes de celles des ID générés par l'intégrateur.

eventCharge

string (Int64Value format)

OBLIGATOIRE: en 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 à l'intégrateur de paiement. Si ce résultat est positif, il s'agit des revenus générés par l'intégrateur de paiement dû à Google.

Par exemple, les transactions de capture 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é sont toujours positifs. Les événements de rejet de débit seront toujours négatifs.

Cette valeur est exprimée en micros.

eventFee

string (Int64Value format)

OBLIGATOIRE: en 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 à l'intégrateur de paiement. Si ce résultat est positif, il s'agit des revenus générés par l'intégrateur de paiement dû à Google.

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

Cette valeur est exprimée en micros.

presentmentChargeAmount

string (Int64Value format)

FACULTATIF: montant de la transaction dans la devise de présentation (ou transaction) avant le taux de change. 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 actuelle (de la transaction).

exchangeRate

string (Int64Value format)

FACULTATIF: taux de change utilisé pour convertir le montant de la 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, 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 "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.