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

赠送礼物

通过游戏的送礼功能,玩家可购买游戏商品作为礼物,将其赠送给爱好尝试新游戏的朋友及家人。送礼人将收到凭证,收礼人将收到包含礼物信息的电子邮件。此外,送礼人可选择隐藏身份,匿名送出礼物。无论哪种情况,启用送礼功能均可提高再次参与度和边际收益。

此功能提供多种集成选项,支持游戏项目选择以下游戏商品作为礼物销售:

  • 虚拟货币套餐
  • 虚拟物品
  • 游戏激活密钥

该选项仅适用于已禁用Xsolla侧用户数据存储的项目。请转到您的发布商帐户配置及管理用户数据存储设置。

統合ガイド

プロジェクトで有効になっているモジュールに応じて、次の統合オプションを使用できます。

Pay2Playモジュール

機能の有効化:

  1. Pay2Playモジュールの設定
  2. アカウントマネージャーに連絡して、機能を有効化してください。

仮装アイテムや仮想通貨、Payment Wall モジュール

機能の有効化:

  1. 仮装アイテム仮想通貨Payment Wallモジュールをそれぞれ設定。
  2. APIメソッドを実行して友達一覧表をXsollaに送るか、友達一覧表を格納したオブジェクトをトークンリクエストに追加します。
  3. 支払を正常に承認でき、贈り物のデータを含むウェブフックの処理を実装できます。
  4. アカウントマネージャーに連絡して、機能を有効化してください。

モジュールの設定

機能を有効にするには、仮想アイテムや仮想通貨、Payment Wallモジュールを設定して有効化してください。

友達一覧表をトークンリクエストで送る

必要に応じて、ユーザーの友達一覧表を格納した配列をトークンリクエストに追加できます。配列に1人の友達だけが含まれている場合、自動的に贈り物の受取人として認識されます。トークンリクエストに格納できる友達は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に友達一覧表のリクエストを送ります。この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
  }
]

ウェブフックの設定

支払用ウェブフックの処理の更新を忘れずに行ってください。これでJSONに新しい gift.purchase オブジェクトが渡されます。

リクエストの例

$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"
    }
}'