/*
*
*
*/
package org.wmxj.resp;
import org.wmxj.dict.PurseNumber;
import org.wmxj.dict.WmAmount;
import org.wmxj.dict.WmDate;
import org.wmxj.dict.Wmid;
/**
* Интерфейс X20: Проведение транзакции в merchant.webmoney без ухода с сайта
* (ресурса, сервиса, приложения) продавца.
* 2-й запрос, подтверждение оплаты.
*
* @author ainar
*/
public class X20ConfirmationResponse extends AbstractResponse {
/**
* Номер запроса в системе WebMoney wminvoiceid = requestNum
*/
/**
* Номер ВМ-транзакции. Уникальный номер транзакции. Если в данном параметре
* присутствует положительное число больше 0, только тогда это означает, что
* платеж был успешно совершен. Для обычных продавцов использующих
* merchant.webmoney наличие данного уникального номера транзакции означает,
* что средства от клиента поступили и находятся на кошельке. Для продавцов,
* использующих processing.webmoney наличие wmtransid означает, что средства
* поступили, войдут в текущий реестр и будут отправлены очередным
* банковским переводом по этому реестру. Для продавцов с ВМИД Capitaller,
* настроивших в нем прием средств через merchant.webmoney это означает ,
* что средства поступили на доходный кошелек и в ближайшее время будут
* распределены в соответствии с политикой бюджетного автомата. Если
* приложение продавца не имеет номер wmtransid (не зафиксировало его
* наличие или не сохранило его в своей системе учета), то ни предоставлять
* товар, ни оказывать услугу, ни пополнять лицевой счет и т.п. нельзя. В
* случае завершения запроса по таймауту или в случае обрыва связи его
* следует повторить до получения wmtranid или четкого номера ошибки в
* параметре retval, подтверждающего что платеж не прошел.
*
*/
private long wmTransId;
/**
* Информация для клиента. В случае ошибки данный текст можно транслировать
* клиенту как инструкцию, которая поможет ему быстро и правильно понять,
* что необходимо сделать чтобы избежать ошибки в дальнейшем.
*
*/
private String userDesc;
/**
* Сумма платежа.
*
*/
private WmAmount amount;
/**
* Серверная дата операции в системе WMT.
*/
private WmDate operDate;
/**
* Кошелек клиента. Номер ВМ-Кошелька клиента, с которого была совершена
* транзакция. Если платеж был совершен с WebMoney чека (в инициирующем
* запросе был передан мобильный телефон, система определила наличие чека с
* таким номером телефона в системе и была отправлена подтверждающая СМС),
* то в качестве кошелька будет фигурировать кошелек системы Paymer
* соответствующего типа Z000000000001 (или R, G, U, B, E).
*
*
*/
private PurseNumber purseFrom;
/**
* WMID плательщика. ВМИД клиента, с которого была совершена транзакция.
* Если платеж был совершен с WebMoney чека, то в качестве ВМИДа будет
* фигурировать ВМИД чековой системы Paymer 000000000000
*
*/
private Wmid wmidFrom;
/**
* Cтатус отправки СМС.
*
* Если интерфейс завершен с ошибкой 553 (когда оплата осуществляется с
* Вебмани чека и передан Lmi_clientnumber_code=0 для выяснения состояния
* оплаты) или с ошибкой 556 (когда оплата осуществляется с WebMoney
* кошелька и она еще не прошла), то данный тег присутствует в ответе (если
* СМС или USSD отправлялись, то есть lmi_sms_type = 1,2,3 ) и содержит
* состояние СМС или USSD : BUFFERED – ожидает отправки SENDING –
* отправляется оператору SENDED- передано оператору DELIVERED- доставлено
* NON_DELIVERED – не доставлено SUSPENDED – отложено для повтора
*
*
*/
private String smsSentState;
/**
* Сумма платежа.
*
* @return Сумма платежа.
*/
public WmAmount getAmount() {
return amount;
}
/**
* Сумма платежа.
*
* @param amount Сумма платежа.
*/
public void setAmount(WmAmount amount) {
this.amount = amount;
}
/**
* Сумма платежа.
*
* @param amount Сумма платежа.
*/
public void setAmount(String amount) {
this.amount = new WmAmount(amount);
}
/**
* Информация для клиента.
*
* @return Информация для клиента.
*/
public String getUserDesc() {
return userDesc;
}
/**
* Информация для клиента.
*
* @param userDesc Информация для клиента.
*/
public void setUserDesc(String userDesc) {
this.userDesc = userDesc;
}
/**
* Номер ВМ-транзакции.
*
* @return Номер ВМ-транзакции.
*/
public long getWmTransId() {
return wmTransId;
}
/**
* Номер ВМ-транзакции.
*
* @param wmTransId Номер ВМ-транзакции.
*/
public void setWmTransId(long wmTransId) {
this.wmTransId = wmTransId;
}
/**
* Номер ВМ-транзакции.
*
* @param wmTransId Номер ВМ-транзакции.
*/
public void setWmTransId(String wmTransId) {
this.wmTransId = Long.parseLong(wmTransId);
}
/**
* Серверная дата операции в системе WMT.
*
* @return Серверная дата операции в системе WMT.
*/
public WmDate getOperDate() {
return operDate;
}
/**
*
* Серверная дата операции в системе WMT.
*
* @param operDate Серверная дата операции в системе WMT.
*/
public void setOperDate(String operDate) {
this.operDate = new WmDate(operDate);
}
/**
* Серверная дата операции в системе WMT.
*
* @param operDate Серверная дата операции в системе WMT.
*/
public void setOperDate(WmDate operDate) {
this.operDate = operDate;
}
/**
* Номер кошелька с которого выполняется перевод (отправитель). Кошелек
* клиента.
*
* @param pursefrom Номер кошелька с которого выполняется перевод
* (отправитель). Кошелек клиента.
*/
public void setPurseFrom(PurseNumber pursefrom) {
this.purseFrom = pursefrom;
}
/**
* Номер кошелька с которого выполняется перевод (отправитель). Кошелек
* клиента.
*
* @param pursefrom Номер кошелька с которого выполняется перевод
* (отправитель). Кошелек клиента.
*/
public void setPurseFrom(String pursefrom) {
this.purseFrom = new PurseNumber(pursefrom);
}
/**
* Номер кошелька с которого выполняется перевод (отправитель). Кошелек
* клиента.
*
* @return Номер кошелька с которого выполняется перевод (отправитель).
* Кошелек клиента.
*/
public PurseNumber getPurseFrom() {
return this.purseFrom;
}
/**
* WMID плательщика.
*
* @return WMID плательщика.
*/
public Wmid getWmidFrom() {
return wmidFrom;
}
/**
* WMID плательщика.
*
* @param wmidFrom WMID плательщика.
*/
public void setWmidFrom(String wmidFrom) {
this.wmidFrom = new Wmid(wmidFrom);
}
/**
* WMID плательщика.
*
* @param wmidFrom WMID плательщика.
*/
public void setWmidFrom(Wmid wmidFrom) {
this.wmidFrom = wmidFrom;
}
/**
* Cтатус отправки СМС.
*
* @return Cтатус отправки СМС.
*/
public String getSmsSentState() {
return this.smsSentState;
}
/**
* Cтатус отправки СМС.
*
* @param smsSentState Cтатус отправки СМС.
*/
public void setSmsSentState(String smsSentState) {
this.smsSentState = smsSentState;
}
}