文档中心 > 口碑商品管理

1.获取SDK

2.配置公私钥、公共请求参数

普通代码Config配置示例:

public class Config {
	// 开发者应用私钥。java配置PKCS8格式,PHP/.Net语言配置rsa_private_key.pem文件中原始私钥。
	public static final String RSA_RRIVATE_KEY = "详见密钥生成";
	// 接口请求网关,固定值
	public static final String URL = "https://openapi.alipay.com/gateway.do";
	// 商户应用APPID,只要您的应用中包含商品接口且是开通状态,就可以用此应用对应的appid。开发者可登录开放平台-管理中心-对应应用中查看
	public static final String APPID = "2015********8324";
	// 编码字符集。默认 utf-8
	public static final String CHARSET = "utf-8";
	// 返回格式。默认json
	public static final String FORMAT = "json";
	// 支付宝公钥,用于获取同步返回信息后进行验证,验证是否是支付宝发送的信息。
	public static final String ALIPAY_PUBLIC_KEY = "开发者登录开放平台-管理中心-进入应用后查看";
}

AlipayClient是SDK公共请求方法类,AlipayClientFactory是AlipayClient的静态工厂类:

import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;

public class AlipayClientFactory {
	// SDK 公共请求类,包含公共请求参数,以及封装了签名与验签,开发者无需关注签名与验签
	private static final AlipayClient client = new DefaultAlipayClient(Config.URL, Config.APPID, Config.RSA_RRIVATE_KEY, Config.FORMAT,
			Config.CHARSET, Config.ALIPAY_PUBLIC_KEY);
	public static AlipayClient getAlipayClientInstance() {
		return client;
	}
}

3.接口调用示例

接口调用示例大致分为3步:

  1. 拼装业务参数
  2. 将参数发送给开放平台服务端
  3. 获取开放平台服务端返回值,并进行具体业务处理

3.1.商品创建

alipay.offline.market.item.create接口代码调用示例:

/**
 * 
 * 创建商品
 * @param appAuthToken 如ISV代替商家调用接口,需将商户授权后获取的app_auth_token带上;如商家自己调用,则传null。
 * @param bizContent 因该接口业务参数复杂,请详见接口文档
 * @return
 * @throws AlipayApiException 请处理异常
 */
public AlipayOfflineMarketItemCreateResponse createItem(String appAuthToken, String bizContent) throws AlipayApiException{
	AlipayOfflineMarketItemCreateRequest request = new AlipayOfflineMarketItemCreateRequest();
	request.putOtherTextParam("app_auth_token", appAuthToken);
	request.setBizContent(bizContent);
	return AlipayClientFactory.getAlipayClientInstance().execute(request);
}

注意:
app_auth_token如何获取,详见“第三方应用授权”。

3.2.商品修改

alipay.offline.market.item.modify接口代码调用示例:

/**
 * 修改商品
 * @param appAuthToken 如ISV代替商家调用接口,需将商户授权后获取的app_auth_token带上;如商家自己调用,则传null。
 * @param bizContent = "{\"inventory\":\"120\",\"item_id\":\"2015090800077000000002549828\",\"memo\":\"修改\",\"request_id\":\"201510150091111111112\",\"weight\":\"3\"}";
 * @return
 * @throws AlipayApiException 请处理异常
 */
public AlipayOfflineMarketItemModifyResponse modifyItem(String appAuthToken,String bizContent) throws AlipayApiException{
	AlipayOfflineMarketItemModifyRequest request = new AlipayOfflineMarketItemModifyRequest();
	request.putOtherTextParam("app_auth_token", appAuthToken);
	request.setBizContent(bizContent);
	return AlipayClientFactory.getAlipayClientInstance().execute(request);
}

3.3.商品上下架

alipay.offline.market.item.state接口代码调用示例:

/**
 * 修改商品状态
 * @param appAuthToken 如ISV代替商家调用接口,需将商户授权后获取的app_auth_token带上;如商家自己调用,则传null。
 * @param bizContent = "{\"item_id\":\"2015090800077000000002549828\",\"memo\":\"恢复售卖\",\"request_id\":\"201510150093333333335556\",\"state_type\":\"RESUME\"}";
 * @return
 * @throws AlipayApiException 请处理异常
 */
public AlipayOfflineMarketItemStateResponse changeItemState(String appAuthToken,String bizContent) throws AlipayApiException{
	AlipayOfflineMarketItemStateRequest request = new AlipayOfflineMarketItemStateRequest();
	request.putOtherTextParam("app_auth_token", appAuthToken);
	request.setBizContent(bizContent);
	return AlipayClientFactory.getAlipayClientInstance().execute(request); 
}

3.4.查询商户的商品列表

alipay.offline.market.product.batchquery接口代码调用示例:

/**
 * 查询商品列表
 * @param appAuthToken 如ISV代替商家调用接口,需将商户授权后获取的app_auth_token带上;如商家自己调用,则传null。
 * @param bizContent = "{\"page_no\":\"1\"}";
 * @return
 * @throws AlipayApiException 请处理异常
 */
public AlipayOfflineMarketProductBatchqueryResponse batchquery(String appAuthToken,String bizContent) throws AlipayApiException{
	AlipayOfflineMarketProductBatchqueryRequest request = new AlipayOfflineMarketProductBatchqueryRequest();
	request.putOtherTextParam("app_auth_token", appAuthToken);
	request.setBizContent(bizContent);
	return AlipayClientFactory.getAlipayClientInstance().execute(request); 
}

3.5.查询单个商品详细信息

alipay.offline.market.product.querydetail接口代码调用示例:

/**
 * 查询商品明细
 * @param appAuthToken 如ISV代替商家调用接口,需将商户授权后获取的app_auth_token带上;如商家自己调用,则传null。
 * @param bizContent = "{\"item_id\":\"2015090800077000000002549828\"}";
 * @return
 * @throws AlipayApiException 请处理异常
 */
public AlipayOfflineMarketProductQuerydetailResponse querydetail(String appAuthToken,String bizContent) throws AlipayApiException{
	AlipayOfflineMarketProductQuerydetailRequest request = new AlipayOfflineMarketProductQuerydetailRequest();
	request.putOtherTextParam("app_auth_token", appAuthToken);
	request.setBizContent(bizContent);
	return AlipayClientFactory.getAlipayClientInstance().execute(request); 
}

FAQ

关于此文档暂时还没有FAQ
返回
顶部