Skip to main content
Smartpay is a Japanese payment platform offering real-time bank payments and card payments. Smartpay uses a redirect flow where the buyer approves the payment on the Smartpay hosted page.

Setup

Sign up for an account on the Smartpay website. Once signed up, head over to the Smartpay dashboard to get your API credentials.

Credentials

When setting up Smartpay in the dashboard, configure the following credentials:
  • Secret key - The secret key found in your Smartpay dashboard under Settings > Credentials.

Features

Smartpay 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

Supported countries

Smartpay supports transactions from buyers in JP.

Supported currencies

Smartpay supports processing payments in JPY.

Limitations

The following features are not supported by this connector:
  • Payment method tokenization - Storing payment methods for future use is not supported
  • Zero auth - Zero-dollar verification transactions are 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
  • Settlement reporting - Automatic settlement reporting is not supported

Required fields

Smartpay requires the following fields to be set on every transaction:
  • First name and last name
  • Email address
  • Billing and shipping address, including city, country, line 1, postal code, and state
Because of this, Smartpay only works with Embed when the shipping address has been set. Optionally, you can pass up to 249 cart items with a transaction.

Webhooks

Webhooks are required for Smartpay to function correctly. Set up webhooks in the Smartpay dashboard and configure the webhook URL provided in the Gr4vy dashboard under your Smartpay connection.

Integration

The default integration for Smartpay uses a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
  transactionCreate: new TransactionCreate()
  {
    Amount = 1299,
    Currency = "JPY",
    Country = "JP",
    PaymentMethod =
      TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
        new RedirectPaymentMethodCreate()
        {
          Method = "smartpay",
          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": "smartpay"
}
Redirect the buyer to the approval_url (open in a browser or popup), where they can complete the payment. Once the buyer approves, the transaction progresses to an authorization_succeeded or capture_succeeded state.