> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anglpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Powertranz - Card

> Connect to Powertranz to accept credit and debit card payments.

Powertranz is a payment gateway that provides payment processing solutions for merchants in the Caribbean and Latin America. The platform supports card payments with features like delayed capture, partial refunds, 3-D Secure authentication, and payment method tokenization across multiple currencies and countries.

## Setup

Speak to your Powertranz account manager to obtain your credentials. See the [Powertranz documentation](https://developer.powertranz.com/docs/api-keys) for more information.

## Credentials

When setting up Powertranz in the dashboard, configure the following credentials:

* **Powertranz ID** - Your merchant account identifier, for example `99901066`.
* **Powertranz Password** - Your merchant account's unique password.
* **Powertranz Gateway Key** (optional) - An additional token provided by Powertranz. Only set this if provided by Powertranz.

## Connector configuration

After setting up your Powertranz connector in the dashboard, configure how transactions are routed to it. Choose one of the following options:

* **Using Flow** - Configure Powertranz as the target connector in [Flow](/guides/dashboard/flow/overview) to automatically route card transactions to this connector
* **Using the API** - Explicitly set the `payment_service_id` parameter to the Powertranz connector ID when creating transactions. This overrides any Flow routing rules.

The connector ID can be found in the dashboard under **Connections** -> **Configured connections**.

## Features

Powertranz supports the following features:

* **Delayed capture** - Authorize a payment and capture it at a later time
* **Partial capture** - Capture a portion of the authorized amount
* **Partial refunds** - Refund a portion of the captured amount
* **Refunds** - Refund transactions in full
* **Void** - Cancel an authorized transaction before capture
* **Zero auth** - Verify a card without charging it
* **3-D Secure** - Hosted 3DS authentication for enhanced security
* **Payment method tokenization** - Store payment methods for future use

## Supported countries

Powertranz supports transactions from buyers in the following countries:

| Country code | Country code | Country code | Country code | Country code | Country code | Country code | Country code |
| ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ |
| `AD`         | `AE`         | `AF`         | `AG`         | `AI`         | `AL`         | `AM`         | `AO`         |
| `AQ`         | `AR`         | `AS`         | `AT`         | `AU`         | `AW`         | `AX`         | `AZ`         |
| `BA`         | `BB`         | `BD`         | `BE`         | `BF`         | `BG`         | `BH`         | `BI`         |
| `BJ`         | `BL`         | `BM`         | `BN`         | `BO`         | `BQ`         | `BR`         | `BS`         |
| `BT`         | `BV`         | `BW`         | `BY`         | `BZ`         | `CA`         | `CC`         | `CD`         |
| `CF`         | `CG`         | `CH`         | `CI`         | `CK`         | `CL`         | `CM`         | `CN`         |
| `CO`         | `CR`         | `CU`         | `CV`         | `CW`         | `CX`         | `CY`         | `CZ`         |
| `DE`         | `DJ`         | `DK`         | `DM`         | `DO`         | `DZ`         | `EC`         | `EE`         |
| `EG`         | `EH`         | `ER`         | `ES`         | `ET`         | `FI`         | `FJ`         | `FK`         |
| `FM`         | `FO`         | `FR`         | `GA`         | `GB`         | `GD`         | `GE`         | `GF`         |
| `GG`         | `GH`         | `GI`         | `GL`         | `GM`         | `GN`         | `GP`         | `GQ`         |
| `GR`         | `GS`         | `GT`         | `GU`         | `GW`         | `GY`         | `HK`         | `HM`         |
| `HN`         | `HR`         | `HT`         | `HU`         | `ID`         | `IE`         | `IL`         | `IM`         |
| `IN`         | `IO`         | `IQ`         | `IR`         | `IS`         | `IT`         | `JE`         | `JM`         |
| `JO`         | `JP`         | `KE`         | `KG`         | `KH`         | `KI`         | `KM`         | `KN`         |
| `KP`         | `KR`         | `KW`         | `KY`         | `KZ`         | `LA`         | `LB`         | `LC`         |
| `LI`         | `LK`         | `LR`         | `LS`         | `LT`         | `LU`         | `LV`         | `LY`         |
| `MA`         | `MC`         | `MD`         | `ME`         | `MF`         | `MG`         | `MH`         | `MK`         |
| `ML`         | `MM`         | `MN`         | `MO`         | `MP`         | `MQ`         | `MR`         | `MS`         |
| `MT`         | `MU`         | `MV`         | `MW`         | `MX`         | `MY`         | `MZ`         | `NA`         |
| `NC`         | `NE`         | `NF`         | `NG`         | `NI`         | `NL`         | `NO`         | `NP`         |
| `NR`         | `NU`         | `NZ`         | `OM`         | `PA`         | `PE`         | `PF`         | `PG`         |
| `PH`         | `PK`         | `PL`         | `PM`         | `PN`         | `PR`         | `PS`         | `PT`         |
| `PW`         | `PY`         | `QA`         | `RE`         | `RO`         | `RS`         | `RU`         | `RW`         |
| `SA`         | `SB`         | `SC`         | `SD`         | `SE`         | `SG`         | `SH`         | `SI`         |
| `SJ`         | `SK`         | `SL`         | `SM`         | `SN`         | `SO`         | `SR`         | `SS`         |
| `ST`         | `SV`         | `SX`         | `SY`         | `SZ`         | `TC`         | `TD`         | `TF`         |
| `TG`         | `TH`         | `TJ`         | `TK`         | `TL`         | `TM`         | `TN`         | `TO`         |
| `TR`         | `TT`         | `TV`         | `TW`         | `TZ`         | `UA`         | `UG`         | `UM`         |
| `US`         | `UY`         | `UZ`         | `VA`         | `VC`         | `VE`         | `VG`         | `VI`         |
| `VN`         | `VU`         | `WF`         | `WS`         | `XK`         | `YE`         | `YT`         | `ZA`         |
| `ZM`         | `ZW`         |              |              |              |              |              |              |

## Supported currencies

Powertranz supports processing payments in the following currencies:

| Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| `AED`         | `AFN`         | `ALL`         | `AMD`         | `AOA`         | `ARS`         | `AUD`         | `AWG`         |
| `AZN`         | `BAM`         | `BBD`         | `BDT`         | `BHD`         | `BIF`         | `BMD`         | `BND`         |
| `BOB`         | `BOV`         | `BRL`         | `BSD`         | `BTN`         | `BWP`         | `BYN`         | `BZD`         |
| `CAD`         | `CDF`         | `CHE`         | `CHF`         | `CHW`         | `CLF`         | `CLP`         | `CNY`         |
| `COP`         | `COU`         | `CRC`         | `CUP`         | `CVE`         | `CZK`         | `DJF`         | `DKK`         |
| `DOP`         | `DZD`         | `EGP`         | `ERN`         | `ETB`         | `EUR`         | `FJD`         | `FKP`         |
| `GBP`         | `GEL`         | `GHS`         | `GIP`         | `GMD`         | `GNF`         | `GTQ`         | `GYD`         |
| `HKD`         | `HNL`         | `HTG`         | `HUF`         | `IDR`         | `ILS`         | `INR`         | `IQD`         |
| `IRR`         | `ISK`         | `JMD`         | `JOD`         | `JPY`         | `KES`         | `KGS`         | `KHR`         |
| `KMF`         | `KPW`         | `KRW`         | `KWD`         | `KYD`         | `KZT`         | `LAK`         | `LBP`         |
| `LKR`         | `LRD`         | `LSL`         | `LYD`         | `MAD`         | `MDL`         | `MGA`         | `MKD`         |
| `MMK`         | `MNT`         | `MOP`         | `MRU`         | `MUR`         | `MVR`         | `MWK`         | `MXN`         |
| `MXV`         | `MYR`         | `MZN`         | `NAD`         | `NGN`         | `NIO`         | `NOK`         | `NPR`         |
| `NZD`         | `OMR`         | `PAB`         | `PEN`         | `PGK`         | `PHP`         | `PKR`         | `PLN`         |
| `PYG`         | `QAR`         | `RON`         | `RSD`         | `RUB`         | `RWF`         | `SAR`         | `SBD`         |
| `SCR`         | `SDG`         | `SEK`         | `SGD`         | `SHP`         | `SLE`         | `SOS`         | `SRD`         |
| `SSP`         | `STN`         | `SVC`         | `SYP`         | `SZL`         | `THB`         | `TJS`         | `TMT`         |
| `TND`         | `TOP`         | `TRY`         | `TTD`         | `TWD`         | `TZS`         | `UAH`         | `UGX`         |
| `USD`         | `USN`         | `UYI`         | `UYU`         | `UYW`         | `UZS`         | `VED`         | `VES`         |
| `VND`         | `VUV`         | `WST`         | `XAF`         | `XCD`         | `XCG`         | `XOF`         | `XPF`         |
| `YER`         | `ZAR`         | `ZMW`         | `ZWG`         |               |               |               |               |

## Limitations

The following features are not supported by this connector:

* **Direct capture** - Payments must use delayed capture; direct capture is not supported
* **Over capture** - Capturing more than the authorized amount is not supported
* **Partial authorization** - Accepting a partial amount when the full amount cannot be authorized is not supported
* **Digital wallets** - Apple Pay, Google Pay, and other digital wallet integrations are not supported
* **Network tokens** - Network-level tokenization is not supported
* **Settlement reporting** - Automatic settlement reporting is not supported
* **Transaction sync** - Automatic synchronization of transaction status updates is not supported

<Note>
  This is a closed-loop connector. Some failover scenarios are limited.
  For details, see [Open loop versus closed loop](https://docs.gr4vy.com/guides/features/recurring-payments/open-loop#open-loop-versus-closed-loop).
</Note>

## Integration

To accept card payments with Powertranz, use one of Gr4vy's client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers.

You can integrate using:

* **[Embed](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow
* **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance
* **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - Native SDKs for iOS, Android, React Native, and other platforms

Powertranz also supports a [server-side card integration](#direct-integration) for PCI Level 1 compliant merchants.

## 3-D Secure

By default, the Powertranz connector attempts 3DS authentication for every card transaction. To skip 3DS for a specific transaction, pass the `skipThreeDSecure` connection option.

<CodeGroup>
  ```csharp C# highlight={6-12} theme={"system"}
  var transaction = await client.Transactions.CreateAsync(
    transactionCreate: new TransactionCreate()
    {
      Amount = 1299,
      Currency = "TTD",
      ConnectionOptions = new TransactionCreateConnectionOptions()
      {
        PowertranzCard = new ConnectionOptionsPowertranzCard()
        {
          SkipThreeDSecure = "true",
        },
      },
      Country = "TT",
      PaymentMethod =
        TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
          new CardPaymentMethodCreate()
          {
            Method = "card",
            Number = "4111111111111111",
            ExpirationDate = "12/30",
            SecurityCode = "123",
          }
        ),
    }
  );
  ```

  ```go Go highlight={1-5,12} theme={"system"}
  connectionOptions := components.TransactionCreateConnectionOptions{
    PowertranzCard: &components.ConnectionOptionsPowertranzCard{
      SkipThreeDSecure: gr4vy.String("true"),
    },
  }

  transactionCreate := components.TransactionCreate{
    Amount:            amount,
    Currency:          currency,
    Country:           &country,
    ConnectionOptions: &connectionOptions,
    PaymentMethod:     &paymentMethod,
  }

  transaction, err := client.Transactions.Create(ctx, transactionCreate, nil, nil, nil)
  ```

  ```java Java highlight={5-9} theme={"system"}
  CreateTransactionResponse transactionResponse = gr4vyClient.transactions().create()
    .transactionCreate(TransactionCreate.builder()
      .amount(1299L)
      .currency("TTD")
      .connectionOptions(TransactionCreateConnectionOptions.builder()
        .powertranzCard(ConnectionOptionsPowertranzCard.builder()
          .skipThreeDSecure("true")
          .build())
        .build())
      .country("TT")
      .paymentMethod(TransactionCreatePaymentMethod.of(CardPaymentMethodCreate.builder()
        .method("card")
        .number("4111111111111111")
        .expirationDate("12/30")
        .securityCode("123")
        .build()))
      .build())
    .call();
  ```

  ```php PHP highlight={5-9} theme={"system"}
  $transactionCreate = new TransactionCreate(
    amount: 1299,
    currency: 'TTD',
    country: 'TT',
    connectionOptions: new TransactionCreateConnectionOptions(
      powertranzCard: new ConnectionOptionsPowertranzCard(
        skipThreeDSecure: 'true'
      )
    ),
    paymentMethod: new CardPaymentMethodCreate(
      method: 'card',
      number: '4111111111111111',
      expirationDate: '12/30',
      securityCode: '123'
    )
  );
  $response = $client->transactions->create($transactionCreate);
  ```

  ```python Python highlight={5-9} theme={"system"}
  transaction: models.Transaction = client.transactions.create(
    amount=1299,
    currency="TTD",
    country="TT",
    connection_options={
      "powertranz-card": {
        "skip_three_d_secure": "true",
      },
    },
    payment_method={
      "method": "card",
      "number": "4111111111111111",
      "expiration_date": "12/30",
      "security_code": "123",
    }
  )
  ```

  ```ts TypeScript highlight={5-9} theme={"system"}
  const transaction = await client.transactions.create({
    amount: 1299,
    currency: "TTD",
    country: "TT",
    connectionOptions: {
      "powertranz-card": {
        skipThreeDSecure: "true",
      },
    },
    paymentMethod: {
      method: "card",
      number: "4111111111111111",
      expirationDate: "12/30",
      securityCode: "123"
    }
  })
  ```
</CodeGroup>

To test Powertranz 3DS, refer to their documentation which [lists various test cards](https://developer.powertranz.com/docs/test-cards-and-cases).

<Note>
  When 3DS is enabled, Powertranz may perform a redirect to authenticate the card, even when the card is not enrolled in 3DS. This redirect completes frictionless without the buyer's explicit approval.
</Note>

## Recurring payments

Powertranz does not support [open loop](/guides/features/recurring-payments/open-loop) payments. It does support recurring payments with the `payment_source` set to either `card_on_file` or `recurring`.

For customer-initiated (CIT) payments, no additional data is required. For merchant-initiated (MIT) payments with either `card_on_file` or `recurring`, pass the `scheme_transaction_id` from the previous transaction as the `previous_scheme_transaction_id` on the new transaction.

<Warning>
  The `previous_scheme_transaction_id` only needs to be sent if `merchant_initiated` is set to `true`. Always send the `scheme_transaction_id` returned in the response for the previous transaction in the series.
</Warning>
