python-tosspayments


Namepython-tosspayments JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/GisangLee/python-tosspayment
SummaryToss Payments SDK for python. 토스페이먼츠가 아닌 제 3자가 만든 SDK입니다.
upload_time2023-11-08 05:35:31
maintainer
docs_urlNone
authorjsonlee
requires_python>=3.8
licenseMIT
keywords toss toss payment payment
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Toss Payment SDK for Python

- python version >= 3.8
- 토스페이먼츠가 아닌 제 3자가 만든 SDK입니다.

# Pip install Link
- https://pypi.org/project/python-tosspayments/

# Library update will be from last commit of that branch

# branch convention
* naming
  * version-<version_number>
    * ex ) version-0.0.7
----------------------------------------------------------------
# Use

## install 
```zsh
pip install python-tosspayments # latest version
pip install python-tosspayments==0.0.5 # specific version
```
----------------------------------------------------------------
## Load Lib
```python
from tosspayments import Tosspayments
```
----------------------------------------------------------------
## Initialize
```python
toss_client = Tosspayments("Your Toss Payment Secret Key")
```
----------------------------------------------------------------
## APIs
Please visit the official [Toss Payments](https://docs.tosspayments.com/reference) website to find the most up-to-date information.
### Common Guidelines for POST APIs
* idempotency_key  
  * An `idempotency_key` can be used for the POST API (at headers).
    * If you want `idempotence`, add idempotency_key. (`not required`)
    * max_length = 300
  * The remaining APIs automatically guarantee idempotence.
  * [reference](https://docs.tosspayments.com/reference/using-api/idempotency-key)
----------------------------------------------------------------

### Pay with Card Number
```
toss_client.pay_with_card_number(data: dict, idempotency_key: str = None)
```
* request body
  ```
  // Korean
  {
    "data": {
      "amount":1000,
      "orderId":"주문 번호",  -> need to create when creating your payment data
      "cardNumber": "카드 번호 (최대 20자)", -> required,
      "cardExpirationYear": "카드 유효 년", -> required
      "cardExpirationMonth": "카드 유효 월", -> required
      "orderName": "주문명 (ex. 생수 외 1건)", -> required
      "customerIdentityNumber": "카드 소유자 정보 (생년월일 6자리(YYMMDD) 혹은 사업자등록번호 10자리)", -> required
      "cardPassword": "카드 비밀번호 앞 두 자리", -> not required
      "cardInstallmentPlan": 2, -> not required // "신용카드 할부 개월 수 ( 2 ~ 12 )"
      "useFreeInstallmentPlan": "카드사 무이자 할부 적용 여부 (default is False)", -> not required
      "taxFreeAmount": 0 -> not required // "결제할 금액 중 면제 금액 (default is 0)"
      "customerEmail": "고객 이메일 주소 (결제 결과 전송용, 최대 100자)", -> not required
      "customerName": "고객 이름 (최대 100자)", -> not required
  
      // 해외 카드 결제의 3DS 인증에 사용합니다. 3DS 인증 결과를 전송해야 되면 필수입니다.
      "vbv": {
          "cavv": "3D Secure session value",
          "xid": "transaction id",
          "eci ": "code value of 3DS authentication"
       }
    },
    "idempotency_key": "idempotency_key"
  }
  ```
  
  ```
  // English
  {
    "data": {
      "amount":1000,
      "orderId":"ORDER_ID_THAT_YOU_CREATE",  -> need to create when creating your payment data
      "cardNumber": "CARD NUMBER", -> max length is 20 required,
      "cardExpirationYear": "CARD EXPIRATION YEAR", -> required
      "cardExpirationMonth": "CARD EXPIRATION MONTH", -> required
      "orderName": "order name", -> ex) 생수 외 1건 required
      "customerIdentityNumber": "CARD OWNER INFO", -> Birthdate(YYMNMDD) OR Business registration 10 digit number required
      "cardPassword": "First two number of password", -> not required
      "cardInstallmentPlan": 2, -> not required // "(2 ~ 12) Number of installment months for the credit card"
      "useFreeInstallmentPlan": "Whether interest-free installment is applied by the card company", -> not required
      "taxFreeAmount": 0, -> not required // "tax Free Amount (default is 0)"
      "customerEmail": "customer email (max length is 100)", -> not required
      "customerName": "customer name (max length is 100)", -> not required
 
      // translates to "Used for 3DS authentication of overseas card payments. It is essential if you need to send the 3DS authentication results.
      "vbv": {
          "cavv": "3D Secure session value",
          "xid": "transaction id",
          "eci ": "code value of 3DS authentication"
       } 
    },
    "idempotency_key": "idempotency_key",
  },
  ```
----------------------------------------------------------------
### Confirm Payment
```
toss_client.confirm(payment_key: str, toss_order_id: str, amount: int, idempotency_key: str = None)
```
* request body
  ```
  {
      "amount":1000,
      "orderId":"ORDER_ID_THAT_YOU_CREATE",  -> need to create when creating your payment data
      "paymentKey":"PAYMENT_KEY_FROM_FRONT_END",  -> We receive it from the front-end.
  }
  ```
----------------------------------------------------------------
### Cancel Payment
```
toss_client.cancel(payment_key: str, cancel_data: dict, idempotency_key: str = None)
```
* request body
  ```
    cancel_data = {
        "cancel_reason": "단순변심",  -> required
        "cancel_amount": 1000,
        "curreny": "KRW",
        "divided_payment": "True",
        "refund_receive_account": {   -> If user pays with a virtual account, it is required.
            "account_number": "1234567",
            "bank": "13",
            "holder_name": "test" 
        },
        "tax_amount": 100,
        "tax_exemption_amount": 0,
        "tax_free_amount": 0,
    }
  ```
  * Because we send our `payment_key` in the headers, we can simply add the required data when posting to the cancel API.
    * `cancel_reason`, `refund_receive_account (case of virtual_account)`
    * If you want to include the remaining data, you are allowed to do so.
----------------------------------------------------------------
### GET Payment by PaymentKey
```
toss_client.get_payment_by_payment_key(payment_key: str)
```
----------------------------------------------------------------

### GET Payment by Order id
```
toss_client.get_payment_by_order_id(order_id: str)
```
----------------------------------------------------------------

### GET Transaction
```
toss_client.get_transaction(start_date: str, end_date: str, starting_after: str = None, limit: int = None)
```
  * start_date
    * It's the date and time information you want to start the query with.
    * The format is yyyy-MM-dd'T'hh:mm:ss in ISO 8601.
  * end_date
    * It's the date and time information you want to end the query with.
    * The format is yyyy-MM-dd'T'hh:mm:ss in ISO 8601.
    * ex) 
      ```
          start_date = str((now-datetime.timedelta(days=10)).isoformat())
          end_date = str(now.isoformat())
      ```
  * starting_after
    * Used to query records after a specific payment transaction.
  * limit
    * It's the number of records you will receive in a single response.
    * The default value is 100, and the maximum value that can be set is 10,000

----------------------------------------------------------------
### Request Access Token for Brand Pay
```
toss_client.request_brand_pay_access_token(customer_key: str, grant_type: str, code: str = None, customer_identity: dict = {}):
```
* args
  ```
    customer_key: 고객 ID
    grant_type: 요청 타입. AuthorizationCode, RefreshToken 중 하나
    code: 약관 동의 API의 응답 또는 리다이렉트 URL의 쿼리 파라미터로 돌아온 code
    customer_identity: {
        "ci": 고객의 연계 정보(CI),
        "mobilePhone": 고객 휴대폰번호,
        "name": 고객 이름,
        "rrn": 고객의 주민번호 앞 7자리(생년월일+성별코드),
    }
  ```
----------------------------------------------------------------
  
### Confirm Brand Pay
```
toss_client.confirm_brandpay(payment_key: str, amount: int, customer_key: str, order_id: str):
```

* args
    ```
    payment_key: 결제 키값 최대 200자
    amount: 결제할 금액
    customer_key: 고객 ID
    order_id: 주문 ID ( 영문 대소문자, 숫자, 특수문자 -, _로 이루어진 6자 이상 64자 이하의 문자열 )
    ```

----------------------------------------------------------------

### 자동 빌링
1. Create Billing Key
2. Pay with Billing Key
```
toss_client.pay_with_card_number(data: dict, idempotency_key: str = None)
```
* request body
  ```
  // Korean
  {
    "data": {
      "amount":1000,
      "orderId":"주문 번호",  -> need to create when creating your payment data
      "cardNumber": "카드 번호 (최대 20자)", -> required,
      "cardExpirationYear": "카드 유효 년", -> required
      "cardExpirationMonth": "카드 유효 월", -> required
      "orderName": "주문명 (ex. 생수 외 1건)", -> required
      "customerIdentityNumber": "카드 소유자 정보 (생년월일 6자리(YYMMDD) 혹은 사업자등록번호 10자리)", -> required
      "cardPassword": "카드 비밀번호 앞 두 자리", -> not required
      "cardInstallmentPlan": 2, -> not required // "신용카드 할부 개월 수 ( 2 ~ 12 )"
      "useFreeInstallmentPlan": "카드사 무이자 할부 적용 여부 (default is False)", -> not required
      "taxFreeAmount": 0 -> not required // "결제할 금액 중 면제 금액 (default is 0)"
      "customerEmail": "고객 이메일 주소 (결제 결과 전송용, 최대 100자)", -> not required
      "customerName": "고객 이름 (최대 100자)", -> not required
  
      // 해외 카드 결제의 3DS 인증에 사용합니다. 3DS 인증 결과를 전송해야 되면 필수입니다.
      "vbv": {
          "cavv": "3D Secure session value",
          "xid": "transaction id",
          "eci ": "code value of 3DS authentication"
       }
    },
    "idempotency_key": "idempotency_key"
  }
  ```
  
  ```
  // English
  {
    "data": {
      "amount":1000,
      "orderId":"ORDER_ID_THAT_YOU_CREATE",  -> need to create when creating your payment data
      "cardNumber": "CARD NUMBER", -> max length is 20 required,
      "cardExpirationYear": "CARD EXPIRATION YEAR", -> required
      "cardExpirationMonth": "CARD EXPIRATION MONTH", -> required
      "orderName": "order name", -> ex) 생수 외 1건 required
      "customerIdentityNumber": "CARD OWNER INFO", -> Birthdate(YYMNMDD) OR Business registration 10 digit number required
      "cardPassword": "First two number of password", -> not required
      "cardInstallmentPlan": 2, -> not required // "(2 ~ 12) Number of installment months for the credit card"
      "useFreeInstallmentPlan": "Whether interest-free installment is applied by the card company", -> not required
      "taxFreeAmount": 0, -> not required // "tax Free Amount (default is 0)"
      "customerEmail": "customer email (max length is 100)", -> not required
      "customerName": "customer name (max length is 100)", -> not required
 
      // translates to "Used for 3DS authentication of overseas card payments. It is essential if you need to send the 3DS authentication results.
      "vbv": {
          "cavv": "3D Secure session value",
          "xid": "transaction id",
          "eci ": "code value of 3DS authentication"
       } 
    },
    "idempotency_key": "idempotency_key",
  },
  ```
----------------------------------------------------------------

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/GisangLee/python-tosspayment",
    "name": "python-tosspayments",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "toss,toss payment,payment",
    "author": "jsonlee",
    "author_email": "dudegs.py@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ab/49/20e1db7e1215428326de15b405dce0bc43bd2c0dd50cbd1dd6ddc0590790/python-tosspayments-1.1.0.tar.gz",
    "platform": null,
    "description": "# Toss Payment SDK for Python\n\n- python version >= 3.8\n- \ud1a0\uc2a4\ud398\uc774\uba3c\uce20\uac00 \uc544\ub2cc \uc81c 3\uc790\uac00 \ub9cc\ub4e0 SDK\uc785\ub2c8\ub2e4.\n\n# Pip install Link\n- https://pypi.org/project/python-tosspayments/\n\n# Library update will be from last commit of that branch\n\n# branch convention\n* naming\n  * version-<version_number>\n    * ex ) version-0.0.7\n----------------------------------------------------------------\n# Use\n\n## install \n```zsh\npip install python-tosspayments # latest version\npip install python-tosspayments==0.0.5 # specific version\n```\n----------------------------------------------------------------\n## Load Lib\n```python\nfrom tosspayments import Tosspayments\n```\n----------------------------------------------------------------\n## Initialize\n```python\ntoss_client = Tosspayments(\"Your Toss Payment Secret Key\")\n```\n----------------------------------------------------------------\n## APIs\nPlease visit the official [Toss Payments](https://docs.tosspayments.com/reference) website to find the most up-to-date information.\n### Common Guidelines for POST APIs\n* idempotency_key  \n  * An `idempotency_key` can be used for the POST API (at headers).\n    * If you want `idempotence`, add idempotency_key. (`not required`)\n    * max_length = 300\n  * The remaining APIs automatically guarantee idempotence.\n  * [reference](https://docs.tosspayments.com/reference/using-api/idempotency-key)\n----------------------------------------------------------------\n\n### Pay with Card Number\n```\ntoss_client.pay_with_card_number(data: dict, idempotency_key: str = None)\n```\n* request body\n  ```\n  // Korean\n  {\n    \"data\": {\n      \"amount\":1000,\n      \"orderId\":\"\uc8fc\ubb38 \ubc88\ud638\",  -> need to create when creating your payment data\n      \"cardNumber\": \"\uce74\ub4dc \ubc88\ud638 (\ucd5c\ub300 20\uc790)\", -> required,\n      \"cardExpirationYear\": \"\uce74\ub4dc \uc720\ud6a8 \ub144\", -> required\n      \"cardExpirationMonth\": \"\uce74\ub4dc \uc720\ud6a8 \uc6d4\", -> required\n      \"orderName\": \"\uc8fc\ubb38\uba85 (ex. \uc0dd\uc218 \uc678 1\uac74)\", -> required\n      \"customerIdentityNumber\": \"\uce74\ub4dc \uc18c\uc720\uc790 \uc815\ubcf4 (\uc0dd\ub144\uc6d4\uc77c 6\uc790\ub9ac(YYMMDD) \ud639\uc740 \uc0ac\uc5c5\uc790\ub4f1\ub85d\ubc88\ud638 10\uc790\ub9ac)\", -> required\n      \"cardPassword\": \"\uce74\ub4dc \ube44\ubc00\ubc88\ud638 \uc55e \ub450 \uc790\ub9ac\", -> not required\n      \"cardInstallmentPlan\": 2, -> not required // \"\uc2e0\uc6a9\uce74\ub4dc \ud560\ubd80 \uac1c\uc6d4 \uc218 ( 2 ~ 12 )\"\n      \"useFreeInstallmentPlan\": \"\uce74\ub4dc\uc0ac \ubb34\uc774\uc790 \ud560\ubd80 \uc801\uc6a9 \uc5ec\ubd80 (default is False)\", -> not required\n      \"taxFreeAmount\": 0 -> not required // \"\uacb0\uc81c\ud560 \uae08\uc561 \uc911 \uba74\uc81c \uae08\uc561 (default is 0)\"\n      \"customerEmail\": \"\uace0\uac1d \uc774\uba54\uc77c \uc8fc\uc18c (\uacb0\uc81c \uacb0\uacfc \uc804\uc1a1\uc6a9, \ucd5c\ub300 100\uc790)\", -> not required\n      \"customerName\": \"\uace0\uac1d \uc774\ub984 (\ucd5c\ub300 100\uc790)\", -> not required\n  \n      // \ud574\uc678 \uce74\ub4dc \uacb0\uc81c\uc758 3DS \uc778\uc99d\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. 3DS \uc778\uc99d \uacb0\uacfc\ub97c \uc804\uc1a1\ud574\uc57c \ub418\uba74 \ud544\uc218\uc785\ub2c8\ub2e4.\n      \"vbv\": {\n          \"cavv\": \"3D Secure session value\",\n          \"xid\": \"transaction id\",\n          \"eci \": \"code value of 3DS authentication\"\n       }\n    },\n    \"idempotency_key\": \"idempotency_key\"\n  }\n  ```\n  \n  ```\n  // English\n  {\n    \"data\": {\n      \"amount\":1000,\n      \"orderId\":\"ORDER_ID_THAT_YOU_CREATE\",  -> need to create when creating your payment data\n      \"cardNumber\": \"CARD NUMBER\", -> max length is 20 required,\n      \"cardExpirationYear\": \"CARD EXPIRATION YEAR\", -> required\n      \"cardExpirationMonth\": \"CARD EXPIRATION MONTH\", -> required\n      \"orderName\": \"order name\", -> ex) \uc0dd\uc218 \uc678 1\uac74 required\n      \"customerIdentityNumber\": \"CARD OWNER INFO\", -> Birthdate(YYMNMDD) OR Business registration 10 digit number required\n      \"cardPassword\": \"First two number of password\", -> not required\n      \"cardInstallmentPlan\": 2, -> not required // \"(2 ~ 12) Number of installment months for the credit card\"\n      \"useFreeInstallmentPlan\": \"Whether interest-free installment is applied by the card company\", -> not required\n      \"taxFreeAmount\": 0, -> not required // \"tax Free Amount (default is 0)\"\n      \"customerEmail\": \"customer email (max length is 100)\", -> not required\n      \"customerName\": \"customer name (max length is 100)\", -> not required\n \n      // translates to \"Used for 3DS authentication of overseas card payments. It is essential if you need to send the 3DS authentication results.\n      \"vbv\": {\n          \"cavv\": \"3D Secure session value\",\n          \"xid\": \"transaction id\",\n          \"eci \": \"code value of 3DS authentication\"\n       } \n    },\n    \"idempotency_key\": \"idempotency_key\",\n  },\n  ```\n----------------------------------------------------------------\n### Confirm Payment\n```\ntoss_client.confirm(payment_key: str, toss_order_id: str, amount: int, idempotency_key: str = None)\n```\n* request body\n  ```\n  {\n      \"amount\":1000,\n      \"orderId\":\"ORDER_ID_THAT_YOU_CREATE\",  -> need to create when creating your payment data\n      \"paymentKey\":\"PAYMENT_KEY_FROM_FRONT_END\",  -> We receive it from the front-end.\n  }\n  ```\n----------------------------------------------------------------\n### Cancel Payment\n```\ntoss_client.cancel(payment_key: str, cancel_data: dict, idempotency_key: str = None)\n```\n* request body\n  ```\n    cancel_data = {\n        \"cancel_reason\": \"\ub2e8\uc21c\ubcc0\uc2ec\",  -> required\n        \"cancel_amount\": 1000,\n        \"curreny\": \"KRW\",\n        \"divided_payment\": \"True\",\n        \"refund_receive_account\": {   -> If user pays with a virtual account, it is required.\n            \"account_number\": \"1234567\",\n            \"bank\": \"13\",\n            \"holder_name\": \"test\" \n        },\n        \"tax_amount\": 100,\n        \"tax_exemption_amount\": 0,\n        \"tax_free_amount\": 0,\n    }\n  ```\n  * Because we send our `payment_key` in the headers, we can simply add the required data when posting to the cancel API.\n    * `cancel_reason`, `refund_receive_account (case of virtual_account)`\n    * If you want to include the remaining data, you are allowed to do so.\n----------------------------------------------------------------\n### GET Payment by PaymentKey\n```\ntoss_client.get_payment_by_payment_key(payment_key: str)\n```\n----------------------------------------------------------------\n\n### GET Payment by Order id\n```\ntoss_client.get_payment_by_order_id(order_id: str)\n```\n----------------------------------------------------------------\n\n### GET Transaction\n```\ntoss_client.get_transaction(start_date: str, end_date: str, starting_after: str = None, limit: int = None)\n```\n  * start_date\n    * It's the date and time information you want to start the query with.\n    * The format is yyyy-MM-dd'T'hh:mm:ss in ISO 8601.\n  * end_date\n    * It's the date and time information you want to end the query with.\n    * The format is yyyy-MM-dd'T'hh:mm:ss in ISO 8601.\n    * ex) \n      ```\n          start_date = str((now-datetime.timedelta(days=10)).isoformat())\n          end_date = str(now.isoformat())\n      ```\n  * starting_after\n    * Used to query records after a specific payment transaction.\n  * limit\n    * It's the number of records you will receive in a single response.\n    * The default value is 100, and the maximum value that can be set is 10,000\n\n----------------------------------------------------------------\n### Request Access Token for Brand Pay\n```\ntoss_client.request_brand_pay_access_token(customer_key: str, grant_type: str, code: str = None, customer_identity: dict = {}):\n```\n* args\n  ```\n    customer_key: \uace0\uac1d ID\n    grant_type: \uc694\uccad \ud0c0\uc785. AuthorizationCode, RefreshToken \uc911 \ud558\ub098\n    code: \uc57d\uad00 \ub3d9\uc758 API\uc758 \uc751\ub2f5 \ub610\ub294 \ub9ac\ub2e4\uc774\ub809\ud2b8 URL\uc758 \ucffc\ub9ac \ud30c\ub77c\ubbf8\ud130\ub85c \ub3cc\uc544\uc628 code\n    customer_identity: {\n        \"ci\": \uace0\uac1d\uc758 \uc5f0\uacc4 \uc815\ubcf4(CI),\n        \"mobilePhone\": \uace0\uac1d \ud734\ub300\ud3f0\ubc88\ud638,\n        \"name\": \uace0\uac1d \uc774\ub984,\n        \"rrn\": \uace0\uac1d\uc758 \uc8fc\ubbfc\ubc88\ud638 \uc55e 7\uc790\ub9ac(\uc0dd\ub144\uc6d4\uc77c+\uc131\ubcc4\ucf54\ub4dc),\n    }\n  ```\n----------------------------------------------------------------\n  \n### Confirm Brand Pay\n```\ntoss_client.confirm_brandpay(payment_key: str, amount: int, customer_key: str, order_id: str):\n```\n\n* args\n    ```\n    payment_key: \uacb0\uc81c \ud0a4\uac12 \ucd5c\ub300 200\uc790\n    amount: \uacb0\uc81c\ud560 \uae08\uc561\n    customer_key: \uace0\uac1d ID\n    order_id: \uc8fc\ubb38 ID ( \uc601\ubb38 \ub300\uc18c\ubb38\uc790, \uc22b\uc790, \ud2b9\uc218\ubb38\uc790 -, _\ub85c \uc774\ub8e8\uc5b4\uc9c4 6\uc790 \uc774\uc0c1 64\uc790 \uc774\ud558\uc758 \ubb38\uc790\uc5f4 )\n    ```\n\n----------------------------------------------------------------\n\n### \uc790\ub3d9 \ube4c\ub9c1\n1. Create Billing Key\n2. Pay with Billing Key\n```\ntoss_client.pay_with_card_number(data: dict, idempotency_key: str = None)\n```\n* request body\n  ```\n  // Korean\n  {\n    \"data\": {\n      \"amount\":1000,\n      \"orderId\":\"\uc8fc\ubb38 \ubc88\ud638\",  -> need to create when creating your payment data\n      \"cardNumber\": \"\uce74\ub4dc \ubc88\ud638 (\ucd5c\ub300 20\uc790)\", -> required,\n      \"cardExpirationYear\": \"\uce74\ub4dc \uc720\ud6a8 \ub144\", -> required\n      \"cardExpirationMonth\": \"\uce74\ub4dc \uc720\ud6a8 \uc6d4\", -> required\n      \"orderName\": \"\uc8fc\ubb38\uba85 (ex. \uc0dd\uc218 \uc678 1\uac74)\", -> required\n      \"customerIdentityNumber\": \"\uce74\ub4dc \uc18c\uc720\uc790 \uc815\ubcf4 (\uc0dd\ub144\uc6d4\uc77c 6\uc790\ub9ac(YYMMDD) \ud639\uc740 \uc0ac\uc5c5\uc790\ub4f1\ub85d\ubc88\ud638 10\uc790\ub9ac)\", -> required\n      \"cardPassword\": \"\uce74\ub4dc \ube44\ubc00\ubc88\ud638 \uc55e \ub450 \uc790\ub9ac\", -> not required\n      \"cardInstallmentPlan\": 2, -> not required // \"\uc2e0\uc6a9\uce74\ub4dc \ud560\ubd80 \uac1c\uc6d4 \uc218 ( 2 ~ 12 )\"\n      \"useFreeInstallmentPlan\": \"\uce74\ub4dc\uc0ac \ubb34\uc774\uc790 \ud560\ubd80 \uc801\uc6a9 \uc5ec\ubd80 (default is False)\", -> not required\n      \"taxFreeAmount\": 0 -> not required // \"\uacb0\uc81c\ud560 \uae08\uc561 \uc911 \uba74\uc81c \uae08\uc561 (default is 0)\"\n      \"customerEmail\": \"\uace0\uac1d \uc774\uba54\uc77c \uc8fc\uc18c (\uacb0\uc81c \uacb0\uacfc \uc804\uc1a1\uc6a9, \ucd5c\ub300 100\uc790)\", -> not required\n      \"customerName\": \"\uace0\uac1d \uc774\ub984 (\ucd5c\ub300 100\uc790)\", -> not required\n  \n      // \ud574\uc678 \uce74\ub4dc \uacb0\uc81c\uc758 3DS \uc778\uc99d\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. 3DS \uc778\uc99d \uacb0\uacfc\ub97c \uc804\uc1a1\ud574\uc57c \ub418\uba74 \ud544\uc218\uc785\ub2c8\ub2e4.\n      \"vbv\": {\n          \"cavv\": \"3D Secure session value\",\n          \"xid\": \"transaction id\",\n          \"eci \": \"code value of 3DS authentication\"\n       }\n    },\n    \"idempotency_key\": \"idempotency_key\"\n  }\n  ```\n  \n  ```\n  // English\n  {\n    \"data\": {\n      \"amount\":1000,\n      \"orderId\":\"ORDER_ID_THAT_YOU_CREATE\",  -> need to create when creating your payment data\n      \"cardNumber\": \"CARD NUMBER\", -> max length is 20 required,\n      \"cardExpirationYear\": \"CARD EXPIRATION YEAR\", -> required\n      \"cardExpirationMonth\": \"CARD EXPIRATION MONTH\", -> required\n      \"orderName\": \"order name\", -> ex) \uc0dd\uc218 \uc678 1\uac74 required\n      \"customerIdentityNumber\": \"CARD OWNER INFO\", -> Birthdate(YYMNMDD) OR Business registration 10 digit number required\n      \"cardPassword\": \"First two number of password\", -> not required\n      \"cardInstallmentPlan\": 2, -> not required // \"(2 ~ 12) Number of installment months for the credit card\"\n      \"useFreeInstallmentPlan\": \"Whether interest-free installment is applied by the card company\", -> not required\n      \"taxFreeAmount\": 0, -> not required // \"tax Free Amount (default is 0)\"\n      \"customerEmail\": \"customer email (max length is 100)\", -> not required\n      \"customerName\": \"customer name (max length is 100)\", -> not required\n \n      // translates to \"Used for 3DS authentication of overseas card payments. It is essential if you need to send the 3DS authentication results.\n      \"vbv\": {\n          \"cavv\": \"3D Secure session value\",\n          \"xid\": \"transaction id\",\n          \"eci \": \"code value of 3DS authentication\"\n       } \n    },\n    \"idempotency_key\": \"idempotency_key\",\n  },\n  ```\n----------------------------------------------------------------\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Toss Payments SDK for python. \ud1a0\uc2a4\ud398\uc774\uba3c\uce20\uac00 \uc544\ub2cc \uc81c 3\uc790\uac00 \ub9cc\ub4e0 SDK\uc785\ub2c8\ub2e4.",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/GisangLee/python-tosspayment"
    },
    "split_keywords": [
        "toss",
        "toss payment",
        "payment"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de5fa0b2b91dfc8f0b03ca00cd591544b1d774180f39ee0838ec4675a935b4fb",
                "md5": "3d00f464e1944b173654fb0d1d87b2c3",
                "sha256": "7fde83a621b53b42b15b86b0ecb2d2e75575f9b33141758086fdf41b06077828"
            },
            "downloads": -1,
            "filename": "python_tosspayments-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3d00f464e1944b173654fb0d1d87b2c3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9636,
            "upload_time": "2023-11-08T05:35:30",
            "upload_time_iso_8601": "2023-11-08T05:35:30.286107Z",
            "url": "https://files.pythonhosted.org/packages/de/5f/a0b2b91dfc8f0b03ca00cd591544b1d774180f39ee0838ec4675a935b4fb/python_tosspayments-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab4920e1db7e1215428326de15b405dce0bc43bd2c0dd50cbd1dd6ddc0590790",
                "md5": "4d5a57bdcebec6a1f443f49bac391ff9",
                "sha256": "a77b96a9d45a3ef88759ce2c04e5ea1c059202fd4a6492536e76c53375cfed44"
            },
            "downloads": -1,
            "filename": "python-tosspayments-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4d5a57bdcebec6a1f443f49bac391ff9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9186,
            "upload_time": "2023-11-08T05:35:31",
            "upload_time_iso_8601": "2023-11-08T05:35:31.874560Z",
            "url": "https://files.pythonhosted.org/packages/ab/49/20e1db7e1215428326de15b405dce0bc43bd2c0dd50cbd1dd6ddc0590790/python-tosspayments-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-08 05:35:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "GisangLee",
    "github_project": "python-tosspayment",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "python-tosspayments"
}
        
Elapsed time: 0.13972s