The following documentation was deprecated. Current version is available at developers.xsolla.com

선물 제공

친구와 가족이 새로운 게임을 즐길 수 있게 플레이어가 게임 선물 제공 기능으로 게임 아이템을 구입하여 선물하도록 허용할 수 있습니다. 선물 제공자는 영수증을 받게 되며 선물 수령인은 선물 정보가 포함된 이메일을 받게 됩니다. 자신의 ID를 감추어 선물을 익명으로 보낼 수도 있습니다. 어느 경우에서든, 선물 제공 기능을 활성화하면 재참여율과 수익이 모두 늘게 됩니다.

이 기능에는 여러 가지 옵션이 통합되어 있으며 프로젝트를 진행하는 동안 선물로 다음과 같은 게임 아이템을 판매할 수 있습니다.

  • 가상 통화 패키지
  • 가상 아이템
  • 게임 활성화 키

Xsolla 측 사용자 데이터 스토리지를 비활성화한 프로젝트만 이 옵션을 적용할 수 있습니다. 사용자 데이터 스토리지 설정을 구성하고 관리하려면 게시자 계정으로 이동하십시오.

통합 가이드

프로젝트에서 활성화한 모듈에 따라 다음과 같은 통합 옵션을 사용할 수 있습니다.

Pay2Play 모듈

기능 활성화 방법:

  1. Pay2Play 모듈을 설정합니다.
  2. 계정 관리자에게 문의하여 기능을 활성화하도록 요청합니다.

가상 아이템, 가상 통화 또는 Payment Wall 모듈

기능 활성화 방법:

  1. 가상 아이템, 가상 통화 또는 Payment Wall 모듈을 개별적으로 설정합니다.
  2. API 방식을 사용하여 친구 목록을 Xsolla로 전송하거나 친구 데이터가 포함된 객체를 토큰 요청에 추가합니다.
  3. 웹훅 처리를 실행하여 결제가 성공적으로 이루어졌는지 그리고 선물 데이터를 포함시켰는지 확인합니다.
  4. 계정 관리자에게 문의하여 기능을 활성화하도록 요청합니다.

모듈 설정

기능을 활성화하려면 가상 아이템, 가상 통화 또는 Payment Wall 모듈을 설정하고 이 기능을 켜야 합니다.

토큰 리퀘스트에 친구 목록 전송

필요할 경우, 사용자의 친구 목록이 포함된 어레이를 토큰 리퀘스트에 추가할 수 있습니다. 어레이에 친구 한 명만 포함되어 있는 경우, 선물 수령인으로 자동 등록됩니다. 토큰 리퀘스트에 포함되는 친구 수는 100명을 초과할 수 없습니다. 토큰 리퀘스트에 선물 데이터가 포함된 객체를 추가할 수도 있습니다.

요청 예시

"purchase":{

   "virtual_currency":{

       "quantity":100

   },

   "description":{

       "value":"Test Purchase"

   },

   "gift":{

       "giver_id":"John Smith",

       "message":"GG WP",

       "hide_giver_from_receiver" : true,

       "friends": [

       {

        "id": "123",

        "name": "captain",

        "email": "captain@ship.com"

       }]

   }

}

API를 통해 친구 목록 전송

이 경우, Xsolla가 프로젝트 설정에서 구성한친구 목록 요청을 프로젝트 웹훅 URL로 전송합니다.

서명 생성

서명 생성 방법:

  1. Xsolla 서버로부터 수신한 매개변수를 알파벳 순으로 나열합니다.
  2. 프로젝트 설정에서 생성된 바와 같이 매개변수 값과 프로젝트의 비밀 키를 연결합니다.
  3. SHA1 알고리즘을 사용하여 결과 문자열을 해시합니다.
  4. 결과를 'sign' 매개변수에 전송합니다.

API 요청 처리 시 수신한 서명이 'sign' 매개변수에서 전송한 것과 일치하는지 확인합니다.

친구 목록 입수

요청 예시

$ curl -v 'https://your.webhook.url?notification_type=friends_list&user=user_id&query=frien&offset=10&limit=20&sign=12dfg3f5gdsf4g5s6dfg2sdg1' \
- X GET \
- u merchant_id:merchant_api_key

응답 예시

[
  {
  "friends": [
      {
        "id": "1",
        "name": "John Carter",
        "email": "carter@xsolla.com",
        "image_url": "https://partner/link/doctor.jpg"
      },
      {
        "id": "2",
        "name": "John Smith",
        "email": "smith@xsolla.com",
        "image_url": "https://partner/link/cook.jpg"
      }
    ],
  "total": 10
  }
]

웹훅 설정

결제 웹훅 처리 상태를 업데이트합니다. 그렇게 하면 새로운 gift.purchase 객체가 JSON으로 전달됩니다.

요청 예시

$curl -v 'https://your.hostname/your/uri' \
- X POST \
- d '{
    "notification_type":"payment",
    "purchase":{
        "virtual_currency":{
            "name":"Coins",
            "sku":"test_package1",
            "quantity":10,
            "currency":"USD",
            "amount":100
        },
        "subscription":{
            "plan_id": "b5dac9c8",
            "subscription_id": "10",
            "product_id": "Demo Product",
            "date_create": "2014-09-22T19:25:25+04:00",
            "date_next_charge": "2014-10-22T19:25:25+04:00",
            "currency": "USD",
            "amount": 9.99
        },
        "checkout":{
            "currency":"USD",
            "amount":50
        },
        "virtual_items":{
            "items":[
                {
                    "sku": "test_item1",
                    "amount":1
                }
            ],
            "currency":"USD",
            "amount":50
        },
        "gift":{
             "giver_ID":"John Smith",
             "receiver_ID":"Ivan Ivanov",
             "receiver_email":"example@example.com",
             "message":"GG WP",
             "hide_giver_from_receiver": true
        },
        "total":{
            "currency":"USD",
            "amount":200
        },
        "promotions":[{
            "technical_name":"Demo Promotion",
            "id":"853"
        }],
        "coupon":{
             "coupon_code":"ICvj45S4FUOyy",
             "campaign_code":"1507"
        }
    },
    "user": {
        "ip": "127.0.0.1",
        "phone": "18777976552",
        "email": "email@example.com",
        "id": "1234567",
        "name": "Xsolla User",
        "country": "US"
    },
    "transaction":{
        "id":1,
        "external_id":1,
        "payment_date":"2014-09-24T20:38:16+04:00",
        "payment_method":1,
        "dry_run":1,
        "agreement":1
    },
    "payment_details":{
        "payment":{
            "currency":"USD",
            "amount":230
        },
        "vat": {
            "currency": "USD",
            "amount": 0
        },
        "payout_currency_rate": 1,
        "payout":{
            "currency":"USD",
            "amount":200
        },
        "xsolla_fee":{
            "currency":"USD",
            "amount":10
        },
        "payment_method_fee":{
            "currency":"USD",
            "amount":20
        }
    },
    "custom_parameters":{
        "parameter1":"value1",
        "parameter2":"value2"
    }
}'