sendPaymentRequest 파라미터에
product_id=0910?????&appid=OA00??????&product_name=광고제거&tid=&bpinfo=
이런 형식으로 파라미터를 보내주면 구매가 된다
private Handler mUiHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 100) {
PaymentFragment.this.mLog.setText((String) msg.obj);
}
else if (msg.what == 101) {
final Response response = (Response) msg.obj;
JSONObject json = new JSONObject();
try {
json.put("appid", mAid.getText().toString().toUpperCase());
json.put("txid", response.result.txid);
Log.d("Receipt", response.result.receipt.length() + " is the receipt ");
json.put("signdata", response.result.receipt);
} catch (JSONException e) {
e.printStackTrace();
PaymentFragment.this.mLog
.setText("Failed while composing json data for verification receipt.");
}
ReceiptConfirm rc = new ReceiptConfirm();
rc.execute((String) json.toString());
} else if (msg.what == 200) {
Toast.makeText(PaymentFragment.this.getActivity(), (String) msg.obj,
Toast.LENGTH_SHORT).show();
}
}
};
private boolean requestPayment() {
String parameter = makeRequest();
mUiHandler.obtainMessage(100, parameter).sendToTarget();
Log.i("IAP", parameter);
// 08-14 12:11:25.964: I/IAP(18268): product_id=0910035790&appid=OA00691495&product_name=광고제거&tid=&bpinfo=
Bundle req = mPlugin.sendPaymentRequest(parameter,
new IapPlugin.RequestCallback() {
@Override
public void onResponse(IapResponse data) {
if (data == null || data.getContentLength() <= 0) {
// TODO Unusual error
mUiHandler.obtainMessage(100,
"onResponse() response data is null")
.sendToTarget();
return;
}
// 1. JSON �곗씠�곕� �듯븳 媛앹껜 蹂�솚 �ъ슜 ��original
Response response = ConverterFactory.getConverter().fromJson(
data.getContentToString());
String responseString = data.getContentToString();
Logger.v("Response String : "+responseString);
if (response == null) {
// TODO invalid response data
mUiHandler.obtainMessage(100,
"onResponse() invalid response data")
.sendToTarget();
return;
}
// TODO for logging
StringBuffer sb = new StringBuffer("onResponse() \n");
sb.append("From:" + data.getContentToString())
.append("\n")
.append("To:" + response.toString());
mUiHandler.obtainMessage(100, sb.toString()).sendToTarget();
// response.result.code
if (!response.result.code.equals("0000")) {
mUiHandler.obtainMessage(200,
"Failed to request to purchase a item")
.sendToTarget();
return;
}
// response.result.txid
// response.result.receipt
mUiHandler.obtainMessage(101, response).sendToTarget();
}
@Override
public void onError(String reqid, String errcode,
String errmsg) {
// TODO Error occurred
mUiHandler.obtainMessage(100, "onError() identifier:" + reqid + " code:" + errcode + " msg:" + errmsg)
.sendToTarget();
}
});
if (req == null) {
// TODO request failure
return false;
}
mRequestId = req.getString(IapPlugin.EXTRA_REQUEST_ID);
if (mRequestId == null || mRequestId.length() == 0) {
// TODO request failure
return false;
}
return true;
}
'Android' 카테고리의 다른 글
자바 컴파일 버전이 다른 문제 (0) | 2016.07.22 |
---|---|
can't find right android-platform for project (0) | 2015.07.21 |
네트워크 상태 실시간 체크 (0) | 2015.06.26 |
상태바 error (you need to use a theme.appcompat theme (or descendant) with this activity) (0) | 2015.03.27 |
jni fatal signal (0) | 2015.02.18 |