Definitions
- PIAID: Payment Integrator Account ID. This defines a specific integration with contractual constraints.
- NDJSON: Newline Delimited JSON. A format for storing or transmitting sequences of JSON objects. Each valid JSON object resides on its own line, separated by newline characters, enabling efficient streaming and processing of large datasets.
GPS File Protocol Overview
GSP files are intended to communicate large numbers of events or entities. GSP files use NDJSON formats, signed and encrypted using the Payment Integrator's same PGP or JWE keys that are used for application-layer encryption. The general format of a GSP file will start with a FileHeader, followed by a file type specific header, followed by the remaining contents of the file.
{"requestId":"G664529173","generationTimestamp":{"epochMillis":"1481899949606"},"type":"GSP_CARD_SETTLEMENT_V1","paymentIntegratorAccountId":"PAYMENT_INTEGRATOR"}
...
...
File Type Content
...
...
File Exchange Protocol
Google will set up an SFTP server for the purposes of file exchanges. For files created by the Payment Integrator and provided to Google, the Payment Integrator will place the file in Google-Hosted SFTP server. Google will provide the SFTP server credentials during onboarding. This will be setup at a Payment Integrator’s level and Payment Integrators will be expected to use the same credentials for multiple PIAIDs.
File Naming
The naming convention for GSP Files is as follows: {FileTypeSpecificPrefix}-{PIAID}-{ISO 8601 Formatted FileGenerationDate(truncated to day)}-{FileGenerationTimeStamp}
Compression
The file may be zipped using Gzip. The files that utilize this format must use the “.gz” extension for clear identification. The compression must be performed after encrypting the file. Use of this feature should be communicated with Google during the setup process.
Security
The file must be signed and encrypted using the same encryption mechanisms outlined on the GSP’s Application layer security page.