Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt

Use this file to discover all available pages before exploring further.

Latitude and Gem are buy now, pay later (BNPL) payment providers by Latitude Financial. Latitude operates in Australia and Gem operates in New Zealand. Both use a redirect flow where the buyer approves the payment on a hosted page. Each provider has two connector variants:
ProviderInstant SettlementDeferred Settlement
Latitude (AU)latitude-latitudelatitude-latitudeds
Gem (NZ)gem-gemgem-gemds
  • Instant Settlement - Funds are captured immediately during the transaction.
  • Deferred Settlement - Funds are authorized first and captured manually later.

Setup

Contact the Latitude merchant support team to obtain credentials.

Credentials

When setting up Latitude in the dashboard, configure the following credentials:
  • Merchant ID - The merchant ID obtained from the Latitude Merchant Integration Support team.
  • Merchant Secret - The merchant secret obtained from the Latitude Merchant Integration Support team.

Features

Both connectors support the following features:
  • Partial refunds - Refund a portion of the captured amount
  • Refunds - Refund transactions in full
  • Transaction sync - Automatic synchronization of transaction status updates
The Deferred Settlement connector additionally supports:
  • Delayed capture - Authorize a payment and capture it at a later time
  • Partial capture - Capture a portion of the authorized amount
  • Void - Cancel an authorized transaction before capture

Supported countries

Country codeProvider
AULatitude
NZGem

Supported currencies

Currency codeProvider
AUDLatitude
NZDGem

Limitations

The following features are not supported by this connector:
  • Over capture - Capturing more than the authorized amount is not supported
  • Partial authorization - Accepting a partial amount is not supported
  • Payment method tokenization - Storing payment methods for future use is not supported
  • Zero auth - Zero-dollar verification transactions are not supported
  • Settlement reporting - Automatic settlement reporting is not supported
Additional limitations:
  • Cart items required - Cart items must be included with every transaction.
  • Transaction refresh - Only transactions with a buyer_approval_pending status can be refreshed through the dashboard. Instant Settlement transactions update to capture_succeeded, while Deferred Settlement transactions update to authorization_succeeded.

Required fields

Latitude requires the following buyer information with every transaction:
  • First name
  • Last name
  • Address line 1
  • City
  • Postal code
  • Country

Integration

The default integration for Latitude uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields. Use latitude or gem as the method for Instant Settlement, or latitudeds or gemds for Deferred Settlement.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "AUD",
    Country = "AU",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "latitude",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);
After the transaction is created, the API response includes a payment_method.approval_url and the status is set to buyer_approval_pending. The approval URL expires after 30 minutes.
{
  "type": "transaction",
  "id": "ea1efdd0-20f9-44d9-9b0b-0a3d71e9b625",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://cdn.gr4vy.com/connectors/..."
  },
  "method": "latitude"
}
Redirect the buyer to the approval_url (open in a browser or Webview), where they can complete the payment. Once the buyer approves, the transaction progresses to a capture_succeeded (Instant Settlement) or authorization_succeeded (Deferred Settlement) state.

Connection options

The Latitude connector supports passing a promotion reference when creating a transaction. See the Latitude purchase request API for details.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "AUD",
    ConnectionOptions = new TransactionCreateConnectionOptions()
    {
      LatitudeLatitude = new ConnectionOptionsLatitudeLatitude()
      {
        PromotionReference = "2012",
      },
    },
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "latitude",
          RedirectUrl = "https://example.com/callback",
        }
      ),
  }
);