Skip to content

Implementation

Implementation Steps

  1. Testing

Begin integration testing in the PayNetWorx Test Environment using the Google Pay test environment.

Test Cards

When testing, use cards from the PayNetWorx Test Cards list.

  1. Production

Once development testing is complete, production setup and go live can be completed. Request access for the PayNetWorx Production Environment and contact Google to Publish Your Integration to go live with the merchant Google Pay solution.

Google Pay Button

Please reference the Google Pay instructions on implementing a Payment Button. The Google Pay Button can be customized as needed to fit the look and feel of the merchant website.

Payment Request

When a customer pays with Google Pay, Google returns encrypted data which contains the customer's selected payment data. The encrypted data can be extracted from the paymentMethodData.tokenizationData.token property of the PaymentData response object. Include this token in the PaymentNetworkToken object of the subsequent payment request to the PayNetworx Payment API.

Payment Request Example: eCommerce

Request Sample using CURL
sh
URL=https://api.qa.paynetworx.net/v0/transaction/authcapture
HTTPAUTHTOKEN=1fHfjpw86udrDQHRMKabypEmhY4:1fHfkJrOs7iVBnC07HDxCPZuPsK
curl -sS --user $HTTPAUTHTOKEN -H 'Content-Type: application/json' -H "Request-ID: $(ksuid)" $URL -d '
{
    "Amount": {
        "Total": 5.50,
        "Fee": 0.50,
        "Tax": 0.90,
        "Currency": "USD"
    },
    "PaymentMethod": {
        "Card": {
            "PaymentNetworkToken": {
                "TokenType": "google-pay",
                "TokenData": "{GOOGLE_PAY_TOKEN}"
            },
            "BillingAddress": {
                "Name": "Jane Doe",
                "Line1": "1234 Main St",
                "Line2": "Suite A",
                "City": "Cityville",
                "State": "TX",
                "PostalCode": "75000",
                "Country": "US",
                "Phone": "555-555-5555",
                "Email": "example@example.com"
            }
        }
    },
    "Attributes": {
        "EntryMode": "wallet",
        "ProcessingSpecifiers": {
            "InitiatedByECommerce": true
        }
    },
    "TransactionEntry": {
        "Device": "NA",
        "DeviceVersion": "NA",
        "Application": "Merchant Website Express",
        "ApplicationVersion": "1.0",
        "Timestamp": "2020-03-03T17:01:44"
    },
    "Detail": {
        "MerchantData": {
            "OrderNumber": "22-1111",
            "CustomerID": "991111"
        }
    }
}'

Response Object Attributes

View RESPONSE Object Attributes
defaultResponseTable
AttributeData TypeDescription
TransactionIDksuid

Unique transaction lifetime system ID

EventIDksuid

Unique transaction event system ID

RequestIDksuid

Unique transaction request system ID

Approvedboolean

Request approval indicator

AddressLine1Checkstring

Address verification result

(pass, fail, unavailable, unchecked)

AddressZipCheckstring

Postal code verification result

(pass, fail, unavailable, unchecked)

CVCCheckstring

CVC result

(pass, fail, unavailable, unchecked)

CVCCheckResultCodestring

Letter Code

(returned from the card association)

Response Example

JSON Response Object
json
{
  "TransactionID": "1XSnl0X7GC44qPT2CVV8BCz0bQi",
  "EventID": "1XSnvq7J5ggxZg70sWuRg4kEBcu",
  "RequestID": "1XSnzEjZ4IBh5Nj0OEVPTWpwYo8",
  "Approved": true,
  "AddressLine1Check": "pass",
  "AddressZipCheck": "pass",
  "CVCCheck": "pass"
}