Задать вопрос
  • Обновление в таблице связанного сервера между MSSQL и POSTGRESS?

    @MixanMM Автор вопроса
    к сожалению ,в приведенной вами ссылке так и нет ответа на вопрос, как мой, так и ТС форума
  • Возврат без карты pilot_nt?

    @MixanMM Автор вопроса
    Hemul GM,
    PinPad := TPinPad.Create;
    // проведение возврата без карты
    try
    BankOK := PinPad.TryReturn(sumvozvrat ,pinRRN); - так вызываю возврат
    ....
    function TPinPad.TryReturn(AAmount: Double; ARRN: string = ''): boolean;
    begin
    Result := TestPinpad = 0;
    if ARRN <> '' then
    Result := CardAuth6(AAmount, OP_RETURN, ARRN) = 0
    else
    Result := CardAuth6(AAmount, OP_RETURN) = 0;
    end;
    ...
    function TPinPad.CardAuth6(Summ: Double; Operation: integer;
    ARRN: string): integer;
    var
    Func: TCardAuthorize6;
    Sum: UINT;
    ATrack2: Pchar;
    i: integer;
    begin
    Result := -1;
    ClearBuffers;
    try
    try
    Sum := Round(Summ * 100);
    FAuthAnswer.Amount := Sum;
    FAuthAnswer.TType := Operation;
    FAuthAnswer.CType := 0;

    FAuthAnswer6.AuthAnswer := FAuthAnswer;

    if ARRN = '' then
    begin
    ATrack2 := Pchar(AnsiString('QSELECT'));
    for i := 0 to length(ARRN) - 1 do
    FAuthAnswer6.RRN[i] := AnsiChar(ARRN[i]);
    end;

    if FLibHandle <= 0 then
    begin
    raise TPinpadException.Create(Format('Библиотека %s не загружена',
    [LibName]));
    Exit;
    end;

    @Func := GetProcAddress(FLibHandle, Pchar('_card_authorize6'));

    if not Assigned(Func) then
    raise TPinpadException.Create
    ('Функция _card_authorize6 не найдена в pilot_nt.dll');

    if ARRN <> '' then
    Result := Func(ATrack2, @FAuthAnswer6)
    else
    Result := Func(nil, @FAuthAnswer6);

    FLastError := Result;

    FLastError := FAuthAnswer6.ErrorCode;
    FAuthAnswer := FAuthAnswer6.AuthAnswer;
    FCheque := PAnsiChar(FAuthAnswer.Check);
    FAuthCode := AnsiString(FAuthAnswer6.AuthCode);
    FCardID := AnsiString(FAuthAnswer6.CardID);
    FLastErrorMessage := AnsiString(FAuthAnswer.AMessage);
    FRRN := AnsiString(FAuthAnswer6.RRN);

    except
    on E: Exception do
    end;
    finally
    Func := nil;
    end;
    end;
    Вот черз такую обертку вызываю функцию, при отправке данных в BankOK := PinPad.TryReturn(sumvozvrat ,pinRRN); - на пин паде загорается сумма. но все равно промит приложить карту, хотя при переданной RRN - автризация должна проходить автоматически