手動キャプチャ

オーソリと注文処理を分離し、まずオーソリを取り、後で注文金額を処理することができます。

オーソリを取り、注文金額を確保し、サービスを完了した後に注文金額を取り込むことができます。例えば、ホテルでは、宿泊客が到着する前に支払いを全額承認し、宿泊客がチェックアウトするときにお金を移動させることができます。

Smartpayのデフォルトでは、注文が承認されると同時に自動的に注文の全額が処理されます。もし、手動で注文処理を行いたい場合は、(例えば、在庫が確認され、商品が出荷できるようになった後)以下の手動処理フローに沿って実施してください。
注文が承認されると、Smartpayはその金額を保証し、最大7日間お客様のアカウントに保持します。この期間内に注文処理が行われないと、承認がキャンセルされ、オーソリされた金額が解放されます。このとき、注文のステータスはキャンセルされた状態に移行します。

  1. Smartpayへ承認手続きのみ指示する

注文に対してチェックアウトセッションを作成する際、Create a checkout sessionAPIコールの「captureMethod」フィールドに「manual」を指定します。

curl --request POST \
     --url https://api.smartpay.co/v1/checkout-sessions \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic sk_test_abcdef12345678' \
     --header 'Content-Type: application/json' \
     --data '
{
     "amount": 1500,
     "cancelUrl": "https://mystore.jp/cancel",
     "captureMethod": "manual",
     "currency": "JPY",
     "customerInfo": {
          "accountAge": 30,
          "address": {
               "line1": "虎ノ門1-17-1",
               "line2": "虎ノ門ヒルズビジネスタワー 15階",
               "locality": "港区",
               "administrativeArea": "東京都",
               "postalCode": "105-6415",
               "country": "JP"
          },
          "dateOfBirth": "2019-08-24",
          "emailAddress": "[email protected]",
          "firstName": "John",
          "firstNameKana": "ドエ",
          "lastName": "Doe",
          "lastNameKana": "ドエ",
          "legalGender": "male",
          "phoneNumber": "+818000000000",
          "reference": "string"
     },
     "description": "string",
     "items": [
          {
               "amount": 1000,
               "brand": "FARVALUE",
               "currency": "JPY",
               "description": "ニット セーター",
               "gtin": "682141169930",
               "images": [
                    "https://mystore.jp/images/image.png"
               ],
               "label": null,
               "metadata": {},
               "name": "セーター",
               "priceDescription": null,
               "priceMetadata": {},
               "productDescription": null,
               "productMetadata": {},
               "quantity": 1,
               "reference": "my_merchant_product_reference",
               "url": "https://mystore.jp/my-product/"
          }
     ],
     "locale": "ja",
     "reference": "my_merchant_order_reference",
     "shippingInfo": {
          "address": {
               "line1": "虎ノ門1-17-1",
               "line2": "虎ノ門ヒルズビジネスタワー 15階",
               "locality": "港区",
               "administrativeArea": "東京都",
               "postalCode": "105-6415",
               "country": "JP"
          },
          "addressType": "home",
          "carrierName": "yamato",
          "reference": "1234-5678-9123",
          "feeAmount": 500,
          "feeCurrency": "JPY"
     },
     "successUrl": "https://mystore.jp/success"
}
'
$api = new \Smartpay\Api(getenv('SECRET_KEY'), getenv('PUBLIC_KEY'));

$checkoutSession = $api->checkoutSession([
  'amount' => 1500,
  'cancelUrl' => 'https://mystore.jp/cancel',
  'captureMethod' => 'manual',
  'currency' => 'JPY',
  'customerInfo' => [
    'accountAge' => 30,
    'address' => [
      'line1' => '虎ノ門1-17-1',
      'line2' => '虎ノ門ヒルズビジネスタワー 15階',
      'locality' => '港区',
      'administrativeArea' => '東京都',
      'postalCode' => '105-6415',
      'country' => 'JP'
    ],
    'dateOfBirth' => '2019-08-24',
    'emailAddress' => '[email protected]',
    'firstName' => 'John',
    'firstNameKana' => 'ドエ',
    'lastName' => 'Doe',
    'lastNameKana' => 'ドエ',
    'gender' => 'male',
    'phoneNumber' => '+818000000000',
    'reference' => 'string'
  ],
  'description' => 'My Smartpay order',
  'items' => [
    [
      'amount' => 1000,
      'brand' => 'FARVALUE',
      'currency' => 'JPY',
      'description' => 'ニット セーター',
      'gtin' => '682141169930',
      'images' => [
        'https://mystore.jp/images/image.png'
      ],
      'name' => 'セーター',
      'quantity' => 1,
      'reference' => 'my_merchant_product_reference',
      'url' => 'https://mystore.jp/my-product/'
    ]
  ],
  'locale' => 'ja',
  'reference' => 'my_merchant_order_reference',
  'shippingInfo' => [
    'address' => [
      'line1' => '虎ノ門1-17-1',
      'line2' => '虎ノ門ヒルズビジネスタワー 15階',
      'locality' => '港区',
      'administrativeArea' => '東京都',
      'postalCode' => '105-6415',
      'country' => 'JP',
    ],
    'feeAmount' => 500,
    'feeCurrency' => 'JPY',
  ],
  'successUrl' => 'https://mystore.jp/success'
]);
Smartpay.configure do |config|
  config.public_key = ENV['PUBLIC_KEY']
  config.secret_key = ENV['SECRET_KEY']
end

session = Smartpay::Api.create_checkout_session({
  amount: 1500,
  cancelUrl: 'https://mystore.jp/cancel',
  captureMethod: 'manual',
  currency: 'JPY',
  customerInfo: {
    accountAge: 30,
    address: {
      line1: '虎ノ門1-17-1',
      line2: '虎ノ門ヒルズビジネスタワー 15階',
      locality: '港区',
      administrativeArea: '東京都',
      postalCode: '105-6415',
      country: 'JP',
    },
    dateOfBirth: '1985-06-30',
    email: '[email protected]',
    firstName: '田中',
    lastName: '太郎',
    firstNameKana: 'たなか',
    lastNameKana: 'たろう',
    gender: 'male',
    phoneNumber: '+818000000000',
    reference: 'my_merchant_consumer_reference',
  },
  description: 'My Smartpay order',
  items: [
    {
      amount: 1000,
      brand: 'FARVALUE',
      currency: 'JPY',
      description: 'ニット セーター',
      gtin: '682141169930',
      images: [
        'https://mystore.jp/images/image.png'
      ],
      label: null,
      metadata: {},
      name: 'セーター',
      priceDescription: null,
      priceMetadata: {},
      productDescription: null,
      productMetadata: {},
      quantity: 1,
      reference: 'my_merchant_product_reference',
      url: 'https://mystore.jp/my-product/'
    }
  ],
  reference: 'my_merchant_order_reference',
  shippingInfo: {
    address: {
      line1: '虎ノ門1-17-1',
      line2: '虎ノ門ヒルズビジネスタワー 15階',
      locality: '港区',
      administrativeArea: '東京都',
      postalCode: '105-6415',
      country: 'JP',
    },
    feeAmount: 500,
    feeCurrency: 'JPY',
  },
  successUrl: 'https://mystore.jp/success',
})
SECRET_KEY = os.environ.get('SECRET_KEY', '<YOUR_SECRET_KEY>')
PUBLIC_KEY = os.environ.get('PUBLIC_KEY', '<YOUR_PUBLIC_KEY>')

smartpay = Smartpay(SECRET_KEY, public_key=PUBLIC_KEY)

session = smartpay.create_checkout_session({
    "amount": 400,
    "cancelUrl": "https://mystore.jp/cancel",
    "captureMethod": "manual",
    "currency": "JPY",
    "customerInfo": {
        "accountAge": 30,
        "address": {
          "line1": "虎ノ門1-17-1",
          "line2": "虎ノ門ヒルズビジネスタワー 15階",
          "locality": "港区",
          "administrativeArea": "東京都",
          "postalCode": "105-6415",
          "country": "JP",
        },
        "dateOfBirth": "1985-06-30",
        "email": "[email protected]",
        "firstName": "田中",
        "lastName": "太郎",
        "firstNameKana": "たなか",
        "lastNameKana": "たろう",
        "gender": "male",
        "phoneNumber": "+818000000000",
        "reference": "my_merchant_consumer_reference",
    },
    "items": [
        {
             "amount": 1000,
             "brand": "FARVALUE",
             "currency": "JPY",
             "description": "ニット セーター",
             "gtin": "682141169930",
             "images": [
                  "https://mystore.jp/images/image.png"
             ],
             "label": null,
             "metadata": {},
             "name": "セーター",
             "priceDescription": null,
             "priceMetadata": {},
             "productDescription": null,
             "productMetadata": {},
             "quantity": 1,
             "reference": "my_merchant_product_reference",
             "url": "https://mystore.jp/my-product/"
        }
    ],
    "reference": "my_merchant_order_reference",
    "shippingInfo": {
        "address": {
            "line1": "虎ノ門1-17-1",
            "line2": "虎ノ門ヒルズビジネスタワー 15階",
            "locality": "港区",
            "administrativeArea": "東京都",
            "postalCode": "105-6415",
            "country": "JP",
          },
        "feeAmount": 500,
        "feeCurrency": "JPY",
    },
    "successUrl": "https://mystore.jp/success",
})
  1. 購入者をSmartpayのチェックアウトに誘導する

購入者をSmartpayのチェックアウトに誘導するには、create checkout session APIコールを返すURLを使用します。購入者がチェックアウトを正常に完了すると、注文のステータスが「requires_capture」になります。

注文は7日間のみ有効です。その期間中に注文処理を行う必要があります。もし、7日以内に処理が行われない場合、その注文は自動でキャンセルされます。
  1. 支払いの作成 (注文処理の作成)

支払い(注文処理)の作成は注文処理(注文キャプチャ)ガイドに沿って設定ください

注文をキャンセルする

購入者が、注文処理が実行される前に、注文をキャンセルした場合は、注文キャンセルガイドに沿って、Smartpayの注文をキャンセルすることが出来ます。


Did this page help you?