Приведу тебе кусок из моего кода оплаты платежей одного из операторов)
Сервер находится у него на сайте. у меня как раз толко клиент:
Объявления:
type
PaymentConfirmAns = class;
PaymentRequestAns = class;
WSTerminalProcResult = (error_authtorization_cashier_blocked, error_authtorization_unknown_cashier, error_authtorization_unknown_terminal,
error_exception, error_unknown, success);
PaymentRequestAns = class(TRemotable)
private
FRESULT: Integer;
FSTRINFO: WideString;
FOPCODE: Integer;
FACCNO: WideString;
FOPTRANSID: WideString;
FTID: Int64;
FCID: Int64;
published
property RESULT: Integer read FRESULT write FRESULT;
property STRINFO: WideString read FSTRINFO write FSTRINFO;
property OPCODE: Integer read FOPCODE write FOPCODE;
property ACCNO: WideString read FACCNO write FACCNO;
property OPTRANSID: WideString read FOPTRANSID write FOPTRANSID;
property TID: Int64 read FTID write FTID;
property CID: Int64 read FCID write FCID;
end;
paydeskwsSoap = interface(IInvokable)
['{5EBDEDE3-6F88-39F9-9EF9-7D0F3D4A1560}']
procedure MobilePaymentRequest(const CASH_LOGIN: WideString; const CASH_PASSWORD: WideString; const P_DATE: WideString;
const P_PHONE: WideString; const P_OPCODE: WideString; const P_CURCODE: WideString; const P_AMOUNT: WideString;
const paymentRequestAns1: PaymentRequestAns; const sessCookie1: WideString; out MobilePaymentRequestResult: WSTerminalProcResult;
out paymentRequestAns: PaymentRequestAns; out sessCookie: WideString); stdcall;
end;
initialization
InvRegistry.RegisterInterface(TypeInfo(paydeskwsSoap), '
http://xxx.ru/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(paydeskwsSoap), '
http://xxx.ru/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(paydeskwsSoap), ioDocument);
RemClassRegistry.RegisterXSInfo(TypeInfo(WSTerminalProcResult), '
http://xxx.ru/', 'WSTerminalProcResult');
RemClassRegistry.RegisterXSClass(PaymentRequestAns, '
http://xxx.org/', 'PaymentRequestAns');
Вызов
var
P_IN,P_SESS : WideString;
PP_IN,PP_OUT : PaymentRequestAns;
T_RESULT : WSTerminalProcResult;
begin
HTTPRIO1.Create(nil);
(HTTPRIO1 as dtpaydeskwsSoap).MobilePaymentRequest('',',DATE,NOMER,Operator,'',SUMMAR,PP_IN,P_IN,T_RESULT,PP_OUT,P_SESS);
end