public static bool Purchase(TxnMsgContent.Request request, bool first, out string error)
{
request.externalRefNumber = DateTime.Now.ToString("yyyyMMddHHmmss");//必填
request.entryTime = DateTime.Now.ToString("yyyyMMddHHmmss");
request.terminalId = CoreHelper.CustomSetting.GetConfigKey("99billterminalId");
//以下第二次鉴权可以不需要
if (!first)
{
request.cardNo = "";
request.expiredDate = "";
request.cvv2 = "";
request.cardHolderName = "";
request.cardHolderId = "";
request.idType = "";
}
request.txnType = "PUR";
request.interactiveStatus = "TR1";
request.entryTime = DateTime.Now.ToString("yyyyMMddHHmmss");
string str = "";
var extDate = request.extData;
str += "<extMap>";
str += "<extDate><key>phone</key><value>" + extDate.phone + "</value></extDate>";
str += "<extDate><key>validCode</key><value>" + extDate.validCode + "</value></extDate>";
str += "<extDate><key>savePciFlag</key><value>" + extDate.savePciFlag + "</value></extDate>";
str += "<extDate><key>token</key><value>" + extDate.token + "</value></extDate>";
str += "<extDate><key>payBatch</key><value>" + extDate.payBatch + "</value></extDate>";
str += "</extMap>";
request.OtherMsg = str;
var xmlDoc = request.SendRequest();
var response = TxnMsgContent.Response.FromXml(xmlDoc);
error = response.responseTextMessage;
return response.responseCode=="00";
}