Xsolla SDK

An official PHP SDK for interacting with Xsolla HTTP API. Xsolla is the authorized reseller and merchant providing e-commerce services for online games.

Лицензия

Лицензия

Группа

Группа

com.xsolla
Идентификатор

Идентификатор

sdk
Последняя версия

Последняя версия

1.0.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

Xsolla SDK
An official PHP SDK for interacting with Xsolla HTTP API. Xsolla is the authorized reseller and merchant providing e-commerce services for online games.

Скачать sdk

Имя Файла Размер
sdk-1.0.1.pom
sdk-1.0.1.jar 67 KB
sdk-1.0.1-sources.jar 34 KB
sdk-1.0.1-javadoc.jar 347 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.xsolla/sdk/ -->
<dependency>
    <groupId>com.xsolla</groupId>
    <artifactId>sdk</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.xsolla/sdk/
implementation 'com.xsolla:sdk:1.0.1'
// https://jarcasting.com/artifacts/com.xsolla/sdk/
implementation ("com.xsolla:sdk:1.0.1")
'com.xsolla:sdk:jar:1.0.1'
<dependency org="com.xsolla" name="sdk" rev="1.0.1">
  <artifact name="sdk" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.xsolla', module='sdk', version='1.0.1')
)
libraryDependencies += "com.xsolla" % "sdk" % "1.0.1"
[com.xsolla/sdk "1.0.1"]

Зависимости

compile (8)

Идентификатор библиотеки Тип Версия
commons-net : commons-net jar 2.2
org.apache.commons : commons-lang3 jar 3.2.1
org.apache.commons : commons-exec jar 1.2
commons-collections : commons-collections jar 3.2.1
com.ning : async-http-client jar 1.7.22
com.googlecode.json-simple : json-simple jar 1.1
org.mockito : mockito-all jar 1.9.5
org.slf4j : slf4j-nop jar 1.7.6

provided (2)

Идентификатор библиотеки Тип Версия
javax : javaee-web-api jar 6.0
javax.servlet : javax.servlet-api jar 3.0.1

test (3)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.11
com.tngtech.java : junit-dataprovider jar 1.5.0
xmlunit : xmlunit jar 1.5

Модули Проекта

Данный проект не имеет модулей.

[DEPRECATED] Xsolla SDK for Java

Build Status

An official SDK for interacting with Xsolla API

Requirements

  • JDK 1.7
  • Maven 3

Installation

Add to your pom.xml:

<dependency>
    <groupId>com.xsolla</groupId>
    <artifactId>sdk</artifactId>
    <version>1.0.1</version>
</dependency>

Usage

Generate URL to Payment Page

import com.xsolla.sdk.Invoice;
import com.xsolla.sdk.Project;
import com.xsolla.sdk.User;
import com.xsolla.sdk.paymentpage.UrlBuilderFactory;
import java.math.BigDecimal;
import java.security.NoSuchAlgorithmException;

public class PaymentPage {

    public static void main(String[] args){
        User user = new User("username")
                .setEmail("example@example.com")
                .setPhone("79000000000");
        Project project = new Project(
                4783, // demo project id
                "key" // demo project secret key
        );
        Invoice invoice = new Invoice()
                .setVirtualCurrencyAmount(new BigDecimal(10));

        UrlBuilderFactory urlBuilderFactory = new UrlBuilderFactory(project);
        try {
            String url = urlBuilderFactory.getCreditCards()
                    .setInvoice(invoice)
                    .setUser(user)
                    .setCountry("US")
                    .setLocale("fr")
                    .setParameter("description", "Purchase description")
                    .getUrl();
            System.out.println("URL to PayStation payment page: " + url);

        } catch (NoSuchAlgorithmException e) {
            System.out.print("The problem of creating a signature. No MD5 algorithm in your Java environment.");
        }
    }
}

Receive Instant Payment Notification

For receiving IPN requests you should implement storage interfaces. Also you can setup sql tables samples/ipn_standard/src/mysql.

Sample Servlet IPN handler for Standard Protocol:

package com.xsolla.samples.ipn.standard;

import com.xsolla.samples.ipn.standard.storage.JdbcPaymentStandardStorage;
import com.xsolla.samples.ipn.standard.storage.JdbcUserStorage;
import com.xsolla.sdk.Project;
import com.xsolla.sdk.protocol.ProtocolFactory;
import com.xsolla.sdk.protocol.StandardProtocol;
import com.xsolla.sdk.protocol.http.ServletHttpAdapter;
import com.xsolla.sdk.protocol.request.Request;
import com.xsolla.sdk.protocol.response.Response;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;

public class StandardServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        super.doPost(request, response);
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        final int PROJECT_ID = 4783;
        final String PROJECT_KEY = "key";

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection = DriverManager.getConnection("jdbc:mysql://DB_HOST/DB_NAME", "DB_USER", "DB_PASSWORD");

            ServletHttpAdapter servletHttpAdapter = new ServletHttpAdapter(request, response);

            Request xsollaRequest = servletHttpAdapter.getRequest();
            Project project = new Project(PROJECT_ID, PROJECT_KEY);

            JdbcUserStorage userStorage = new JdbcUserStorage(connection);
            JdbcPaymentStandardStorage paymentStorage = new JdbcPaymentStandardStorage(connection);

            ProtocolFactory protocolFactory = new ProtocolFactory(project);
            StandardProtocol standardProtocol = protocolFactory.getStandardProtocol(userStorage, paymentStorage);
            Response xsollaResponse = standardProtocol.run(xsollaRequest);

            servletHttpAdapter.sendResponse(xsollaResponse);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

IpChecker - additional security level for situations when your secret key is compromised. It's a optional parameter for ProtocolFactory and you can skip it for development and testing environment.

If your WEB server software does not support JavaEE Servlets, you should implement IHttpAdapter.

Samples

All samples you can find in samples folder.

Additional resources

com.xsolla

Xsolla

Xsolla is the gaming industry hub built by players to bring out gaming's best.

Версии библиотеки

Версия
1.0.1
1.0.0
0.6.0