Skip to content

flitto/android-payment-demo

Repository files navigation

android-payment-demo

Android demo application built with WechaPay and watch out WeChatPay nodejs library for server side.

Documents

Android development doc : APP端开发步骤说明 translate to Korean

Unified order API doc : 统一下单

PayReq API doc : 调起支付接口

Usage

Request Wechat Payment

public void purchaseOrder(UnifiedOrder unifiedOrder) {
  IWXAPI api = WXAPIFactory.createWXAPI((Context) view, WechatPayConstants.APP_ID);
  api.registerApp(WechatPayConstants.APP_ID);

  if (api.isWXAppInstalled()) {
    PayReq request = new PayReq();
    request.appId = unifiedOrder.getAppId();
    request.nonceStr = unifiedOrder.getNonceStr();
    request.packageValue = "Sign=WXPay";
    request.partnerId = unifiedOrder.getPartnerId();
    request.prepayId = unifiedOrder.getPrepayId();
    request.timeStamp = String.valueOf(unifiedOrder.getTimeStamp());
    request.sign = unifiedOrder.getSign();
    api.sendReq(request);
  } else {
    Toast.makeText((Context) view, "WeChat is not installed!", Toast.LENGTH_LONG).show();
  }
}

Reponse from Wechat Payment and Send intent to Activity

public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
...
  @Override
  public void onResp(BaseResp baseResp) {
    if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
      Intent intent = new Intent(TAG);
      intent.putExtra("errCode", baseResp.errCode);
      sendBroadcast(intent);
      finish();
    }
  }
...
}

Receive intent from WXpayEntryActivity

protected void onResume() {
  super.onResume();

  if (receiver == null) {
    receiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(WXPayEntryActivity.TAG)) {
          wechatPayment.onReceivedFromPayEntryActivity(intent);
        }
      }
    };
  }
  registerReceiver(receiver, new IntentFilter(WXPayEntryActivity.TAG));
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages