Skip to content

Latest commit

ย 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Bootpay Server Side Package for PHP Packagist Version

Bootpay PHP Server Side Library

๋ถ€ํŠธํŽ˜์ด ๊ณต์‹ PHP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค (์„œ๋ฒ„์‚ฌ์ด๋“œ ์šฉ)

PHP ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • PG ๊ฒฐ์ œ์ฐฝ ์—ฐ๋™์€ ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. (Javascript, Android, iOS, React Native, Flutter ๋“ฑ)
  • ๊ฒฐ์ œ ๊ฒ€์ฆ ๋ฐ ์ทจ์†Œ, ๋นŒ๋งํ‚ค ๋ฐœ๊ธ‰, ๋ณธ์ธ์ธ์ฆ ๋“ฑ์˜ ์ˆ˜ํ–‰์€ ์„œ๋ฒ„์‚ฌ์ด๋“œ์—์„œ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. (Java, PHP, Python, Ruby, Node.js, Go, ASP.NET ๋“ฑ)

๋ชฉ์ฐจ

PG API

Commerce API

๊ธฐํƒ€


์„ค์น˜ํ•˜๊ธฐ

Composer๋กœ ์„ค์น˜

composer require bootpay/server-php

์š”๊ตฌ์‚ฌํ•ญ

  • PHP >= 5.3.0
  • ext-json

PG API

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •

์˜ˆ์ œ์™€ ํ…Œ์ŠคํŠธ๋Š” ๊ฐ SDK ๋ฃจํŠธ์˜ .env ํŒŒ์ผ์„ ์šฐ์„  ์ฝ์Šต๋‹ˆ๋‹ค. ๋จผ์ € .env.example์„ ๋ณต์‚ฌํ•œ ๋’ค ํ•„์š”ํ•œ ํ‚ค๋งŒ ๋ณ€๊ฒฝํ•˜์„ธ์š”. .env๋Š” gitignore ์ฒ˜๋ฆฌ๋˜์–ด ์ปค๋ฐ‹๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

cp .env.example .env
# BOOTPAY_ENV=production ๋˜๋Š” development

์ฃผ์š” ๋ณ€์ˆ˜:

BOOTPAY_ENV=production
BOOTPAY_PG_CLIENT_KEY_PROD=...
BOOTPAY_PG_SECRET_KEY_PROD=...
BOOTPAY_PG_CLIENT_KEY_DEV=...
BOOTPAY_PG_SECRET_KEY_DEV=...
BOOTPAY_COMMERCE_CLIENT_KEY_PROD=...
BOOTPAY_COMMERCE_SECRET_KEY_PROD=...
BOOTPAY_COMMERCE_CLIENT_KEY_DEV=...
BOOTPAY_COMMERCE_SECRET_KEY_DEV=...

๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด SDK ํ…Œ์ŠคํŠธ์šฉ ๊ธฐ๋ณธ๊ฐ’(NodeJS ๊ธฐ์ค€ ck/sk)์œผ๋กœ fallback ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๊ธฐ

<?php
require_once 'vendor/autoload.php';

use Bootpay\ServerPhp\BootpayApi;

BootpayApi::setClientKeyConfiguration(
    getenv('BOOTPAY_PG_CLIENT_KEY_PROD'),
    getenv('BOOTPAY_PG_SECRET_KEY_PROD')
);
// Legacy application_id/private_key ๋ฐฉ์‹์€ setConfiguration()์œผ๋กœ ๊ณ„์† ์ง€์›๋ฉ๋‹ˆ๋‹ค.

$response = BootpayApi::getAccessToken();
var_dump($response);

ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์ƒ˜ํ”Œ ์ฝ”๋“œ๋Š” tests/pg ํด๋”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

1. ํ† ํฐ ๋ฐœ๊ธ‰

๋ถ€ํŠธํŽ˜์ด์™€ ์„œ๋ฒ„๊ฐ„ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ถ€ํŠธํŽ˜์ด ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐœ๊ธ‰๋œ ํ† ํฐ์€ 30๋ถ„๊ฐ„ ์œ ํšจํ•˜๋ฉฐ, ์ตœ์ดˆ ๋ฐœ๊ธ‰์ผ๋กœ๋ถ€ํ„ฐ 30๋ถ„์ด ์ง€๋‚  ๊ฒฝ์šฐ ํ† ํฐ ๋ฐœ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์žฌํ˜ธ์ถœ ํ•ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<?php
require_once 'vendor/autoload.php';

use Bootpay\ServerPhp\BootpayApi;

BootpayApi::setClientKeyConfiguration(
    getenv('BOOTPAY_PG_CLIENT_KEY_PROD'),
    getenv('BOOTPAY_PG_SECRET_KEY_PROD')
);

$response = BootpayApi::getAccessToken();
var_dump($response);

2. ๊ฒฐ์ œ ๋‹จ๊ฑด ์กฐํšŒ

๊ฒฐ์ œ์ฐฝ ๋ฐ ์ •๊ธฐ๊ฒฐ์ œ์—์„œ ์Šน์ธ/์ทจ์†Œ๋œ ๊ฒฐ์ œ๊ฑด์— ๋Œ€ํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ์ œ๊ฑด์ธ์ง€ ์„œ๋ฒ„๊ฐ„ ํ†ต์‹ ์œผ๋กœ ๊ฒฐ์ œ๊ฒ€์ฆ์„ ํ•ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::receiptPayment('receipt_id_here');
    var_dump($response);
}

3. ๊ฒฐ์ œ ์ทจ์†Œ (์ „์•ก ์ทจ์†Œ / ๋ถ€๋ถ„ ์ทจ์†Œ)

price๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์•ก์ทจ์†Œ ๋ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::cancelPayment(array(
        'receipt_id' => 'receipt_id_here',
        'cancel_price' => 1000,           // ๋ถ€๋ถ„์ทจ์†Œ ๊ธˆ์•ก (์—†์œผ๋ฉด ์ „์•ก์ทจ์†Œ)
        'cancel_tax_free' => 0,
        'cancel_username' => '๊ด€๋ฆฌ์ž',
        'cancel_message' => 'ํ…Œ์ŠคํŠธ ๊ฒฐ์ œ ์ทจ์†Œ'
    ));
    var_dump($response);
}

4. ์ž๋™/๋นŒ๋ง/์ •๊ธฐ ๊ฒฐ์ œ

4-1. ์นด๋“œ ๋นŒ๋งํ‚ค ๋ฐœ๊ธ‰

REST API ๋ฐฉ์‹์œผ๋กœ ๊ณ ๊ฐ์œผ๋กœ๋ถ€ํ„ฐ ์นด๋“œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ, PG์‚ฌ์—๊ฒŒ ๋นŒ๋งํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::getSubscribeBillingKey(
        'nicepay',                    // PG์‚ฌ
        'subscription_' . time(),     // subscription_id
        '30์ผ ์ •๊ธฐ๊ถŒ ๊ฒฐ์ œ',            // order_name
        '5570********1074',           // card_no
        '12',                         // card_pw (์•ž 2์ž๋ฆฌ)
        '25',                         // card_expire_year
        '12',                         // card_expire_month
        '901012'                      // card_identity_no (์ƒ๋…„์›”์ผ ๋˜๋Š” ์‚ฌ์—…์ž๋ฒˆํ˜ธ)
    );
    var_dump($response);
}

4-2. ๊ณ„์ขŒ ๋นŒ๋งํ‚ค ๋ฐœ๊ธ‰

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::requestSubscribeAutomaticTransferBillingKey(array(
        'pg' => 'nicepay',
        'subscription_id' => 'subscription_' . time(),
        'order_name' => '์ž๋™์ด์ฒด ๋“ฑ๋ก',
        'auth_type' => 'ARS',
        'username' => 'ํ™๊ธธ๋™',
        'bank_name' => '๊ตญ๋ฏผ์€ํ–‰',
        'bank_account' => '12345678901234',
        'identity_no' => '901012'
    ));
    var_dump($response);
}

4-3. ๊ฒฐ์ œ ์š”์ฒญํ•˜๊ธฐ

๋ฐœ๊ธ‰๋œ ๋นŒ๋งํ‚ค๋กœ ์›ํ•˜๋Š” ์‹œ์ ์— ๊ฒฐ์ œ ์Šน์ธ ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::requestSubscribeCardPayment(array(
        'billing_key' => 'billing_key_here',
        'order_name' => '์ •๊ธฐ๊ฒฐ์ œ ํ…Œ์ŠคํŠธ',
        'price' => 1000,
        'order_id' => 'order_' . time()
    ));
    var_dump($response);
}

4-4. ๊ฒฐ์ œ ์˜ˆ์•ฝํ•˜๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::subscribePaymentReserve(array(
        'billing_key' => 'billing_key_here',
        'order_name' => '์˜ˆ์•ฝ๊ฒฐ์ œ ํ…Œ์ŠคํŠธ',
        'price' => 1000,
        'order_id' => 'order_' . time(),
        'reserve_execute_at' => date('Y-m-d H:i:s', strtotime('+1 day'))
    ));
    var_dump($response);
}

4-5. ์˜ˆ์•ฝ ์กฐํšŒํ•˜๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::subscribePaymentReserveLookup('reserve_id_here');
    var_dump($response);
}

4-6. ์˜ˆ์•ฝ ์ทจ์†Œํ•˜๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::cancelSubscribeReserve('reserve_id_here');
    var_dump($response);
}

4-7. ๋นŒ๋งํ‚ค ์‚ญ์ œํ•˜๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::destroyBillingKey('billing_key_here');
    var_dump($response);
}

4-8. ๋นŒ๋งํ‚ค ์กฐํšŒํ•˜๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::lookupSubscribeBillingKey('receipt_id_here');
    var_dump($response);
}

5. ํšŒ์› ํ† ํฐ ๋ฐœ๊ธ‰์š”์ฒญ

๋ถ€ํŠธํŽ˜์ด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ„ํŽธ๊ฒฐ์ œ์ฐฝ, ์ƒ์ฒด์ธ์ฆ ๊ธฐ๋ฐ˜์˜ ๊ฒฐ์ œ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์‚ฌ์šฉ์ž ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::requestUserToken(array(
        'user_id' => 'user_123',
        'phone' => '01012345678'
    ));
    var_dump($response);
}

6. ์„œ๋ฒ„ ์Šน์ธ ์š”์ฒญ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::confirmPayment('receipt_id_here');
    var_dump($response);
}

7. ๋ณธ์ธ ์ธ์ฆ ๊ฒฐ๊ณผ ์กฐํšŒ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::certificate('receipt_id_here');
    var_dump($response);
}

8. ์—์Šคํฌ๋กœ ์ด์šฉ์‹œ PG์‚ฌ๋กœ ๋ฐฐ์†ก์ •๋ณด ๋ณด๋‚ด๊ธฐ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::shippingStart(array(
        'receipt_id' => 'receipt_id_here',
        'tracking_number' => '1234567890',
        'delivery_corp' => 'CJ๋Œ€ํ•œํ†ต์šด',
        'user' => array(
            'username' => 'ํ™๊ธธ๋™',
            'phone' => '01012345678'
        )
    ));
    var_dump($response);
}

9. ํ˜„๊ธˆ์˜์ˆ˜์ฆ

9-1. ํ˜„๊ธˆ์˜์ˆ˜์ฆ ๋ฐœํ–‰ํ•˜๊ธฐ

๊ธฐ์กด ๊ฒฐ์ œ๊ฑด์— ๋Œ€ํ•ด ํ˜„๊ธˆ์˜์ˆ˜์ฆ์„ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::cashReceiptPublishOnReceipt(array(
        'receipt_id' => 'receipt_id_here',
        'identity_no' => '01012345678',
        'cash_receipt_type' => '์†Œ๋“๊ณต์ œ'
    ));
    var_dump($response);
}

9-2. ํ˜„๊ธˆ์˜์ˆ˜์ฆ ๋ฐœํ–‰ ์ทจ์†Œ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::cashReceiptCancelOnReceipt('receipt_id_here');
    var_dump($response);
}

9-3. ๋ณ„๊ฑด ํ˜„๊ธˆ์˜์ˆ˜์ฆ ๋ฐœํ–‰

๊ฒฐ์ œ ๊ฑด๊ณผ ๋ณ„๊ฐœ๋กœ ํ˜„๊ธˆ์˜์ˆ˜์ฆ์„ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::requestCashReceipt(array(
        'pg' => 'nicepay',
        'price' => 1000,
        'order_name' => 'ํ…Œ์ŠคํŠธ ์ƒํ’ˆ',
        'order_id' => 'order_' . time(),
        'cash_receipt_type' => '์†Œ๋“๊ณต์ œ',
        'identity_no' => '01012345678'
    ));
    var_dump($response);
}

9-4. ๋ณ„๊ฑด ํ˜„๊ธˆ์˜์ˆ˜์ฆ ๋ฐœํ–‰ ์ทจ์†Œ

$token = BootpayApi::getAccessToken();
if (!$token->error_code) {
    $response = BootpayApi::cancelCashReceipt('receipt_id_here');
    var_dump($response);
}

Commerce API

Commerce API ์‚ฌ์šฉํ•˜๊ธฐ

<?php
require_once 'vendor/autoload.php';

use Bootpay\ServerPhp\BootpayCommerceApi;

$bootpay = new BootpayCommerceApi(
    'your_client_key',
    'your_secret_key',
    'production'  // ๋˜๋Š” 'development'
);

try {
    // ํ† ํฐ ๋ฐœ๊ธ‰
    $bootpay->getAccessToken();

    // API ํ˜ธ์ถœ ์˜ˆ์‹œ
    $response = $bootpay->user->getList(array('page' => 1, 'limit' => 10));
    print_r($response);
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์ƒ˜ํ”Œ ์ฝ”๋“œ๋Š” tests/commerce ํด๋”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

1. Commerce ํ† ํฐ ๋ฐœ๊ธ‰

Commerce API ์‚ฌ์šฉ์„ ์œ„ํ•œ ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›์Šต๋‹ˆ๋‹ค.

$bootpay = new BootpayCommerceApi(
    'your_client_key',
    'your_secret_key',
    'production'
);

$bootpay->getAccessToken();

2. ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ

์‚ฌ์šฉ์ž ํ† ํฐ ๋ฐœ๊ธ‰

$response = $bootpay->user->token('user_id_here');

์‚ฌ์šฉ์ž ๊ฐ€์ž…

$response = $bootpay->user->join(array(
    'login_id' => 'test_user',
    'login_pw' => 'password123',
    'username' => 'ํ™๊ธธ๋™',
    'email' => 'test@example.com',
    'phone' => '01012345678'
));

์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->user->getList(array(
    'page' => 1,
    'limit' => 10
));

์‚ฌ์šฉ์ž ์ƒ์„ธ ์กฐํšŒ

$response = $bootpay->user->detail('user_id_here');

์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ •

$response = $bootpay->user->update(array(
    'user_id' => 'user_id_here',
    'username' => '๋ณ€๊ฒฝ๋œ ์ด๋ฆ„'
));

์‚ฌ์šฉ์ž ์‚ญ์ œ

$response = $bootpay->user->delete('user_id_here');

3. ์‚ฌ์šฉ์ž ๊ทธ๋ฃน ๊ด€๋ฆฌ

๊ทธ๋ฃน ์ƒ์„ฑ

$response = $bootpay->userGroup->create(array(
    'company_name' => 'ํ…Œ์ŠคํŠธ ํšŒ์‚ฌ',
    'business_number' => '1234567890',
    'ceo_name' => 'ํ™๊ธธ๋™',
    'corporate_type' => 2
));

๊ทธ๋ฃน ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->userGroup->getList(array(
    'page' => 1,
    'limit' => 10
));

๊ทธ๋ฃน ์ƒ์„ธ ์กฐํšŒ

$response = $bootpay->userGroup->detail('user_group_id_here');

๊ทธ๋ฃน ์ˆ˜์ •

$response = $bootpay->userGroup->update(array(
    'user_group_id' => 'user_group_id_here',
    'company_name' => '๋ณ€๊ฒฝ๋œ ํšŒ์‚ฌ๋ช…'
));

4. ์ƒํ’ˆ ๊ด€๋ฆฌ

์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->product->getList(array(
    'page' => 1,
    'limit' => 10
));

์ƒํ’ˆ ์ƒ์„ฑ

$response = $bootpay->product->create(array(
    'name' => 'ํ…Œ์ŠคํŠธ ์ƒํ’ˆ',
    'price' => 10000,
    'type' => 1
));

์ƒํ’ˆ ์ƒ์„ธ ์กฐํšŒ

$response = $bootpay->product->detail('product_id_here');

์ƒํ’ˆ ์ˆ˜์ •

$response = $bootpay->product->update(array(
    'product_id' => 'product_id_here',
    'name' => '๋ณ€๊ฒฝ๋œ ์ƒํ’ˆ๋ช…'
));

์ƒํ’ˆ ์‚ญ์ œ

$response = $bootpay->product->delete('product_id_here');

5. ์ฃผ๋ฌธ ๊ด€๋ฆฌ

์ฃผ๋ฌธ ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->order->getList(array(
    'page' => 1,
    'limit' => 10
));

์ฃผ๋ฌธ ์ƒ์„ธ ์กฐํšŒ

$response = $bootpay->order->detail('order_id_here');

์ฃผ๋ฌธ ์ทจ์†Œ ์š”์ฒญ

$response = $bootpay->orderCancel->request(array(
    'order_id' => 'order_id_here',
    'cancel_reason' => '๊ณ ๊ฐ ์š”์ฒญ'
));

6. ์ฒญ๊ตฌ์„œ ๊ด€๋ฆฌ

์ฒญ๊ตฌ์„œ ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->invoice->getList(array(
    'page' => 1,
    'limit' => 10
));

์ฒญ๊ตฌ์„œ ์ƒ์„ฑ

$response = $bootpay->invoice->create(array(
    'user_id' => 'user_id_here',
    'price' => 10000,
    'order_name' => '์ฒญ๊ตฌ์„œ ํ…Œ์ŠคํŠธ'
));

์ฒญ๊ตฌ์„œ ์•Œ๋ฆผ ๋ฐœ์†ก

$response = $bootpay->invoice->notify('invoice_id_here', array(
    'send_types' => array(1)  // 1: SMS
));

7. ์ •๊ธฐ๊ตฌ๋… ๊ด€๋ฆฌ

์ •๊ธฐ๊ตฌ๋… ๋ชฉ๋ก ์กฐํšŒ

$response = $bootpay->orderSubscription->getList(array(
    'page' => 1,
    'limit' => 10
));

์ •๊ธฐ๊ตฌ๋… ์ƒ์„ธ ์กฐํšŒ

$response = $bootpay->orderSubscription->detail('order_subscription_id_here');

์ •๊ธฐ๊ตฌ๋… ์ผ์‹œ์ •์ง€

$response = $bootpay->orderSubscription->requestIng->pause(array(
    'order_subscription_id' => 'order_subscription_id_here'
));

์ •๊ธฐ๊ตฌ๋… ์žฌ๊ฐœ

$response = $bootpay->orderSubscription->requestIng->resume(array(
    'order_subscription_id' => 'order_subscription_id_here'
));

ํ•ด์ง€ ์ˆ˜์ˆ˜๋ฃŒ ๊ณ„์‚ฐ

$response = $bootpay->orderSubscription->requestIng->calculateTerminationFee(array(
    'order_subscription_id' => 'order_subscription_id_here'
));

์ •๊ธฐ๊ตฌ๋… ํ•ด์ง€

$response = $bootpay->orderSubscription->requestIng->termination(array(
    'order_subscription_id' => 'order_subscription_id_here'
));

Role ์„ค์ •

Commerce API์—์„œ๋Š” ์—ญํ• (Role)์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

// ๋งค๋‹ˆ์ € ์—ญํ• ๋กœ ์„ค์ •
$bootpay->asManager();

// ์‚ฌ์šฉ์ž ์—ญํ• ๋กœ ์„ค์ •
$bootpay->asUser();

// ํŒŒํŠธ๋„ˆ ์—ญํ• ๋กœ ์„ค์ •
$bootpay->asPartner();

// ์—ญํ•  ์ดˆ๊ธฐํ™”
$bootpay->clearRole();

Example ํ”„๋กœ์ ํŠธ

์ ์šฉํ•œ ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”

Documentation

๋ถ€ํŠธํŽ˜์ด ๊ฐœ๋ฐœ๋งค๋‰ด์–ผ์„ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”

๊ธฐ์ˆ ๋ฌธ์˜

๋ถ€ํŠธํŽ˜์ด ํ™ˆํŽ˜์ด์ง€ ์šฐ์ธก ํ•˜๋‹จ ์ฑ„ํŒ…์„ ํ†ตํ•ด ๊ธฐ์ˆ ๋ฌธ์˜ ์ฃผ์„ธ์š”!

License

MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages