SDK интеграция
SDK уже содержит реализацию логики подписи, поэтому можно напрямую вызывать API.
Определите класс, соответствующий интерфейсу:
Обычный вызов
// Создание экземпляра клиента
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
// Создание конкретного класса запроса API, имя класса соответствует имени интерфейса, текущий вызываемый интерфейс: alipay.open.public.template.message.industry.modify
AlipayOpenPublicTemplateMessageIndustryModifyRequest request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest();
// SDK уже инкапсулирует общие параметры, здесь нужно только передать бизнес-параметры
// В этом случае это просто демонстрация параметров, без экранирования строк, в реальной ситуации необходимо экранировать строки
request.setBizContent(" { +
" \"primary_industry_name\":\"IT科技/IT软件与服务\"," +
" \"primary_industry_code\":\"10001/20102\"," +
" \"secondary_industry_code\":\"10001/20102\"," +
" \"secondary_industry_name\":\"IT科技/IT软件与服务\"" +
" }");
AlipayOpenPublicTemplateMessageIndustryModifyResponse response = alipayClient.execute(request);
// Если вызов успешен, обработайте бизнес-логику
if (response.isSuccess()) {
// ...
}
Пример вызова интерфейса загрузки изображения
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
// Создание конкретного класса запроса API, имя класса соответствует имени интерфейса, текущий вызываемый интерфейс: alipay.offline.material.image.upload
AlipayOfflineMaterialImageUploadRequest request = new AlipayOfflineMaterialImageUploadRequest();
request.setImageName("test");
// Для Windows укажите абсолютный путь, не поддерживайте относительный путь; Linux поддерживает относительный путь
FileItem item = new FileItem("C:/Downloads/ooopic_963991_7eea1f5426105f9e6069/16365_1271139700.jpg");
request.setImageType("JPG");
request.setImageContent(item);
// Выполнить запрос API
AlipayOfflineMaterialImageUploadResponse response = alipayClient.execute(request);
// Если вызов успешен, обработать бизнес-логику
if (response.isSuccess()) {
// Получить URL-адрес изображения
String imageUrl = response.getImageUrl();
// ...
}
Пример вызова пользовательского интерфейса авторизации
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
// Создать конкретный класс запроса API, имя класса соответствует имени интерфейса, текущий вызываемый интерфейс: alipay.user.userinfo.share
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();
// При выполнении вызова API с использованием класса авторизации необходимо указать accessToken
AlipayUserUserinfoShareResponse response= alipayClient.execute(request,"accessToken");
// Обработка бизнеса
//...
Пример вызова приложения авторизации (ISV прокси-продавец)
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
// Создаём конкретный класс запроса API, имя класса соответствует имени интерфейса, текущий вызываемый интерфейс: alipay.open.public.template.message.industry.modify
AlipayOpenPublicTemplateMessageIndustryModifyRequest request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest();
// SDK уже инкапсулировал общие параметры, здесь необходимо передать только бизнес-параметры
// Это просто демонстрация параметров без экранирования строк, в реальных ситуациях необходимо экранировать строки
request.setBizContent(" { " +
" \"primary_industry_name\":\"IT科技/IT软件与服务\"," +
" \"primary_industry_code\":\"10001/20102\"," +
" \"secondary_industry_code\":\"10001/20102\"," +
" \"secondary_industry_name\":\"IT科技/IT软件与服务\"" +
" }");
// ISV прокси-продавцу необходимо предоставить app_auth_token
request.putOtherTextParam("app_auth_token", "201511BBaaa6464f271f49e482f2e9fe63ca5F05");
AlipayOpenPublicTemplateMessageIndustryModifyResponse response = alipayClient.execute(request);
// Если вызов успешен, обрабатываем бизнес-логику
if(response.isSuccess()){
//.....
}
Описание основных функций файла класса DefaultAlipayClient.java
public DefaultAlipayClient(String serverUrl, String appId, String privateKey) Функция: конструктор Ввод: serverUrl не пуст, адрес запроса сервера (отладка: http://openapi.alipaydev.com/gateway.do онлайн: https://openapi.alipay.com/gateway.do) appId не пусто, идентификатор приложения privateKey не пусто, закрытый ключ Вывод: экземпляр объекта клиентского вызова
public T execute(AlipayRequest request) Функция: выполнить запрос вызова (подходит для вызовов без авторизации) Ввод: запрос интерфейса Вывод: объект ответа на запрос
public T execute(AlipayRequest request, String accessToken) Функция: выполнение запроса вызова (подходит для запросов с авторизацией)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )