Implementation

Implementation Procedure

  1. The user initiates WeChat payment in the merchant APP
  2. The APP program calls the OTT Pay API to make payment, and the OTT Pay server returns Payment Parameters
  3. The APP uses the returned Payment Parameters to call the WeChat wallet for payment

Code Example

Map<String, Object> data = new HashMap<>();
data.put("appId", "appid");
data.put("amount", "100");
data.put("callbackURL", "https://your.callback.url");
data.put("saleNumber", "");
data.put("remark", "this is remark");
Gson gson = new Gson();
RequestBody body = RequestBody.create(gson.toJson(data), MediaType.parse("application/json; charset=utf-8"));
String token = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJPTjAwMDAwMDk3MTMwIiwiYXVkaWVuY2UiOm51bGwsInJvbGUiOm51bGwsImNyZWF0ZWQiOjE2NzgyMTU4MDU2NjYsInVzZXJ0eXBlIjoiQ1VTVE9NRVIiLCJleHAiOjE2NzgyMjQ4MDUsInVzZXJpZCI6MTMwfQ.WVpasVp958R6kHOcqC3QgQjCqTXIkyagutkONxCV97yT_hmp9Q6WaZ921cjxhzJA4v2Bhd0RTF5QHMLddVnzOQ";
Request request = new Request.Builder()
        .url("https://ecom-api.ottpay.com/api/v1/pay/weixin/inapp-pay")
        .addHeader("Authorization", "Bearer " + token)
        .post(body)
        .build();
final OkHttpClient httpClient = new OkHttpClient();
try (Response response = httpClient.newCall(request).execute()) {
    if (!response.isSuccessful()) {
        System.out.println(response.body().string());
        throw new IOException("Unexpected code " + response);
    }
    // Response
    System.out.println(response.body().string());
} catch (IOException e) {
    throw new RuntimeException(e);
}