チェックアウトセッションへのプロモーションコードの自動適用

購入者がプロモーションコードを入力する必要がないように、チェックアウトセッションにプロモーションコードを自動的に適用することができます。

Smartpayチェックアウトが開始されると、プロモーションコードが自動的に検証されます。コードが有効な場合、指定された割引が注文に適用され、チェックアウト画面に表示されます。コードが有効でない場合(例えば、有効期限が切れている場合)、割引は適用されません。もし、他に有効なプロモーションコードがある場合は、プロモーションコード入力欄がチェックアウト画面に表示されます。

プロモーションコードを自動的に適用する

チェックアウトセッションにプロモーションコードを自動的に適用するには、リダイレクトURLに 「promotion-code={your-promotion-code}」という引数を追加する必要があります。

弊社のSDKをご利用の場合、すべてのSDKがこの機能をサポートしています。

$api = new \Smartpay\Api(getenv('SECRET_KEY'), getenv('PUBLIC_KEY'));

$checkoutSession = $api->checkoutSession([...])

return $response->withRedirect($checkoutSession->redirectUrl(['promotionCode' => 'SUMMERSALE']), 302);
require 'smartpay'

Smartpay.configure do |config|
  config.public_key = ENV['PUBLIC_KEY']
  config.secret_key = ENV['SECRET_KEY']
end

session = Smartpay::Api.create_checkout_session({...})

redirect session.redirect_url({promotionCode: "SUMMERSALE"})
from smartpay import Smartpay

# Replace the keys with yours
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({...})

redirectUrl = smartpay.get_session_url(session, options={'promotionCode': 'SUMMERSALE'})

return redirect(redirectUrl, 303)
const Smartpay = require('@smartpay/sdk-node').default;

const SECRET_KEY = process.env.SECRET_KEY || '<YOUR_SECRET_KEY>';
const PUBLIC_KEY = process.env.PUBLIC_KEY || '<YOUR_PUBLIC_KEY>';

const smartpay = new Smartpay(SECRET_KEY, {
  publicKey: PUBLIC_KEY,
});

(async () => {
  const payload = {...};

  const session = await smartpay.createCheckoutSession(payload);
})();

const sessionURL = Smartpay.getSessionURL(session, {
    promotionCode: 'SUMMERSALE',
  });
                                                      
res.redirect(303, sessionURL);