private void PayResult(TransResult retPay) { if (retPay == TransResult.E_SUCC) { //缴费成功,发起确认销账 CPetroPayBillConfirm billConfirm = new CPetroPayBillConfirm(); TransResult retConfirm = SyncTransaction(billConfirm); if (retConfirm != TransResult.E_SUCC) { CReverse_PetroChinaPay rev = new CReverse_PetroChinaPay(PetroPayBeingPay); rev.Reason = "06"; rev.Field55 = emv.EMVInfo.AutoField55; SyncTransaction(rev); ShowMessageAndGotoMain("交易超时,请重试"); } else { if (ReceiptPrinter.ExistError()) { StartActivity("中石油支付交易完成"); } else { StartActivity("中石油支付交易成功是否打印"); } } } else if (retPay == TransResult.E_HOST_FAIL) { if (PetroPayBeingPay.ReturnCode == "51") { ShowMessageAndGotoMain("温馨提示:抱歉!交易失败!" + "\n" + "您卡内余额不足!"); } else if (PetroPayBeingPay.ReturnCode == "55") { StartActivity("中石油支付密码错误"); } else { ShowMessageAndGotoMain(PetroPayBeingPay.ReturnCode + "-" + PetroPayBeingPay.ReturnMessage); } } else if (retPay == TransResult.E_RECV_FAIL) { CReverse_PetroChinaPay rev = new CReverse_PetroChinaPay(PetroPayBeingPay); rev.Reason = "98"; rev.Field55 = emv.EMVInfo.AutoField55; SyncTransaction(rev); ShowMessageAndGotoMain("交易超时,请重试"); } else { ShowMessageAndGotoMain("交易失败,请重试"); } }
public void DoReverseFile() { CReverse_PetroChinaPay rev = Restore("Reverse") as CReverse_PetroChinaPay; if (rev != null) { rev.Communicate(); ClearReverseFile(); } }
public void CreateReverseFile() { CReverse_PetroChinaPay rev = new CReverse_PetroChinaPay(PetroPayBeingPay); rev.Reason = "06"; if (emv.EMVInfo.AutoField55 != null && emv.EMVInfo.AutoField55.Length != 0) { rev.Field55 = emv.EMVInfo.AutoField55; } Save("Reverse", rev); }