Перейти к содержанию
Форум поддержки пользователей VamShop

Модуль оплаты ВКонтакте


Рекомендуемые сообщения

Вот само описание, но там возможно придется походить по ссылкам... так что пора регистрироваться  ;D


Для добавления кнопки Оплатить ВКонтакте необходимо:


■Подключить скрипт в теге <head> Вашего интернет-магазина:
<script type="text/javascript" src="http://vkontakte.ru/js/api/merchant.js?7" charset="windows-1251"></script>


■Разместите следующий код на странице с товаром:
<script type="text/javascript">
var prepareOrder = ...;
document.write(VK.Merchant.button(prepareOrder));
</script>

При этом prepareOrder - объект, описывающий заказ, либо функция, возвращающая этот объект.

Структура объекта, описывающего заказ
Название параметра  Обязательный параметр  Описание 
merchant_id  ✔ идентификатор интернет-магазина, присваивается при создании. 
fail_url  ✔ адрес неуспешного завершения оплаты. 
success_url  ✔ адрес успешного завершения оплаты. 
items  ✔ массив позиций заказа. 
required_fields  список дополнительных полей, требуемых от пользователя, перечисленных через запятую (см. ниже). 
testmode  является ли заказ тестовым (см. Тестовый режим). 
custom  дополнительные параметры заказа. 


В качестве дополнительных полей, требуемых от пользователя, в данный момент доступно только одно дополнительное поле recipient_phone. Если параметр required_fields включает recipient_phone, то пользователь должен будет указать телефон получателя. Это может быть полезно, если Ваш магазин подразумевает заказ товара в подарок другому человеку.

Если в настройках интернет-магазина выбран Тестовый режим, то параметр testmode со значением 1 обязателен.

Объект дополнительных параметров заказа custom могут иметь ключи от 0 до 9 и значения до 1024 символов. Эти параметры будут переданы при завершении оплаты на соответствующий адрес магазина, а также будут передаваться с каждым уведомлением от сервера ВКонтакте к серверу интернет магазина (см. Обработка платежных уведомлений).

Структура позиции заказа
Название параметра  Обязательный параметр  Описание 
id  ✔ идентификатор объекта в базе интернет-магазина. 
name  ✔ название объекта. 
description  ✔ описание объекта. 
currency  ✔ валюта, в которой задается цена единицы объекта 
price  ✔ цена единицы объекта в заданной валюте (может быть не целой). 
quantity  ✔ количество единиц объекта в корзине заказа. 
photo_url  ссылка на фотографию объекта 
digital  1, если объект распространяется цифровым образом (ему не требуется доставка). 


Валюта может быть задана в трехбуквенном или числовом формате по стандарту ISO 4217. На данный момент поддерживаются только рубли - RUB, 643.

Фотография выводится в квадратной области 100х100 пикселей, центрировано и без изменений масштаба.

Заказ является заказом цифрового типа, если все объекты заказа распространяются цифровым образом. В этом случае у пользователя не спрашивается адрес доставки и контактный телефон и меняется список отправляемых полей при уведомлении Изменение статуса заказа (см. Описание различных типов уведомлений).

В заказе должно быть от 1 до 100 позиций, все позиции должны иметь ненулевое количество (quantity).

Пример
Пример создания кнопки Оплатить ВКонтакте для покупки двух телефонов, с просьбой указать телефон получаетля:


<script type="text/javascript">
var prepareOrder = function() {
  var result = {
    api_id: 1848359,
    fail_url: 'http://mystore.com/?act=fail',
    success_url: 'http://mystore.com/?act=success',
    required_fields: 'recipient_phone',
    items: [],
    custom: {}
  };
  result.items.push({
    id: 1,
    name: 'Телефон',
    description: 'Самый обычный проводной телефон',
    currency: 'RUB',
    price: 300,
    quantity: 2,
  });
  result.custom[1] = 'Первое дополнительное значение';
  result.custom[5] = 'Пятое дополнительное значение';
  return result;
}
document.write(VK.Merchant.button(prepareOrder));
</script>

Кнопка может быть одного из двух стандартных видов - со скругленными углами или с прямыми углами. Внешний вид кнопки определяется вторым аргументом функции VK.Merchant.button. По умолчанию используется кнопка со скругленными углами. Пример создания кнопки с прямыми углами:


document.write(VK.Merchant.button(perpareOrder, {type: 'button'}));


Текст кнопки слева от буквы В задается параметром text, а текст справа задается параметром text_right второго аргумента функции VK.Merchant.button.

Для динамических сайтов
Если содержимое страниц Вашего сайта меняется динамически, то Вы можете использовать текст, возвращаемый функцией VK.Merchant.button для создания кнопок оплаты "на лету". Все что Вам необходимо для этого сделать, это выделить в нужном месте контейнер для кнопки и после загрузки содержимого выполнить код, подобный следующему:


document.getElementById('vk_pay_button').innerHTML = VK.Merchant.button(prepareOrder);


Завершение оплаты
Переход при завершении (успешном или неудачном) оплаты на сайте интернет-магазина происходит методом GET.

При успешном завершении оплаты на адрес success_url передаются все дополнительные поля заказа (custom), а также параметр id - идентификатор заказа в системе интернет-магазина, полученный при подтверждении выполнения заказа (см. Обработка платежных уведомлений).

При неудачном завершении оплаты на адрес fail_url передаются все дополнительные поля заказа (custom), а также параметр code - код возникшей ошибки (см. Обработка ошибок).
[/code]

Ссылка на сообщение
Поделиться на другие сайты
Николай Румянцев

Для этих целей все равно придется регистрироваться в ВКонтакте, т.к. вашему интернет-магазину там будет соответствовать приложение...

"Open API - система для разработчиков сторонних сайтов, которая предоставляет им возможность авторизовывать пользователей ВКонтакте на своих сайтах и с их согласия получать доступ к их информации, друзьям, фотографиям, аудиозаписям, видеороликам, объявлениям и др.

В рамках подключения Вашего сайта к Open API создается приложение, которое будет иметь доступ ко всем текущим методам ВКонтакте API непосредственно на Вашем сайте. Помимо этого Open API предоставляет возможность упростить процесс регистрации новых пользователей на Вашем сайте, если у них уже есть учетная запись ВКонтакте."

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...
×
×
  • Создать...