PingPlusPlus(一):単純支払
2462 ワード
2015年4月20日のPing++テクニカルサポートに感謝します。
プロセス:
ping++の処理をサービス層に入れました~~
// ping++
// Charge
public Charge transaction() {
Charge charge = null;
Pingpp.apiKey = "sk_test_q540q9GanD0O4eLWDSqDa5SC";
Map<String, Object> chargeMap = new HashMap<String, Object>();
// extra ,
chargeMap.put("amount", 100);
chargeMap.put("currency", "cny");
chargeMap.put("subject", "Your Subject");
chargeMap.put("body", "Your Body");
chargeMap.put("order_no", "1111");
chargeMap.put("channel", "alipay_wap");
chargeMap.put("client_ip", "127.0.0.1");
Map<String, String> app = new HashMap<String, String>();
app.put("id", "app_GeTunDi9WzzTyfDG");
Map<String, String> extramap = new HashMap<String, String>();
//extra : https://pingxx.com/document/api#api-c-new
extramap.put("success_url", "http://127.0.0.1:8080/PartTimeJob/pinus_webview.html");
chargeMap.put("extra", extramap);
chargeMap.put("app", app);
try {
//
charge = Charge.create(chargeMap);
System.out.println(charge);
} catch (PingppException e) {
e.printStackTrace();
}
return charge;
}
HTML 5クライアントは、ping++HTML 5 SDKのexampleを使用しています.
function wap_pay(channel) {
var amount = document.getElementById('amount').value * 100;
var pay_url = "deposit-transaction"; // url, ~ .
var xhr = new XMLHttpRequest();
xhr.open("POST", pay_url, true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.send(JSON.stringify({
channel: channel,
amount: amount
}));
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
pingpp.createPayment(xhr.responseText, function(result, err) {
console.log(result);
console.log(err);
});
}
}
}
アドバイスを歓迎します~