Подарок другу

Как это работает

Вы можете предоставить пользователям возможность покупать за реальную валюту пакеты виртуальной валюты, виртуальные предметы, ключи доступа или подписки в качестве подарка друзьям в игре. После успешной оплаты покупатель получает чек, получатель — письмо с информацией о подарке. Покупатель подарка также может отправить подарок анонимно.

Note: Покупка пакета виртуальной валюты или виртуальных предметов в подарок доступна только для проектов, у которых отключено хранение данных пользователей на стороне Иксоллы.

Для кого подходит

  • Для партнеров, у которых подключен продукт Buy Button и модуль Виртуальные предметы, Виртуальная валюта или Игровые ключи.
  • Для партнеров, у которых подключен продукт Подписки.

Info: Опция доступна только для проектов, которые используют методы Checkout API (устаревшие). Перейдите в Настройки проекта > Настройки интеграции и убедитесь, что переключатель Интегрировать методы Commerce API установлен в положение Выкл.

Как настроить

Для подключения опции:

  1. Настройте пакеты виртуальной валюты, виртуальные предметы, пакеты игровых ключей или подписки.
  2. Выберите и реализуйте один из способов передачи списка друзей: через метод API или в токене.
  3. Реализуйте обработку параметра purchase.gift в оповещении об успешной оплате.
  4. Свяжитесь с аккаунт-менеджером проекта для завершения настройки.

Передача списка друзей в токене

Чтобы даритель выбрал получателя подарка из предложенного списка, передайте список друзей пользователя как параметр purchase.gift.friends в запросе на получение токена. Отобразите полученный список в интерфейсе вашего приложения. Если список содержит одного пользователя, он автоматически определяется как получатель подарка.

Чтобы указать информацию о дарителе, передайте в запросе на получение токена параметры purchase.gift.giver_id, purchase.gift.message, purchase.gift.hide_giver_from_receiver.

Пример токена для подарка пользователю в виде виртуальной валюты:

Copy
Full screen
Small screen
"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"
       }]
   }
}

Пример токена для подарка пользователю в виде подписки:

Copy
Full screen
Small screen
"purchase": {
  "gift": {
    "giver_id": "John Smith",
    "message": "GG WP",
    "hide_giver_from_receiver": true,
    "friends": [
    {
      "id": "123",
      "name": "captain",
      "email": "captain@ship.com"
    }
    ]
  }
}

Передача списка друзей по запросу к API

Реализуйте метод API для передачи списка друзей и сформируйте подпись. Для формирования подписи:

  1. Убедитесь, что в Личном кабинете в разделе Настройки проекта > Оповещения указан URL оповещения.
  2. Сгенерируйте подпись запроса
  3. При обработке запроса к API убедитесь, что полученная при генерации подпись и подпись, переданная в параметре sign, совпадают.

Пример запроса:

Copy
Full screen
Small screen
$ 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

Пример ответа:

Copy
Full screen
Small screen
[
  {
  "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
  }
]

Была ли статья полезна?
Спасибо!
Что может сделать статью еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.