Braintree Perl SDK – Как получить доступ к объекту результата $credit_card_verification в вызове API Customer-›create

Я интегрирую SDK Braintree Perl (платежный шлюз) с существующим проектом. В этом проекте я хочу вернуть response_code, response_text. CVV_response, AVS_response для каждого вызова API Transaction->sale и Customer->create как в состоянии успеха, так и в состоянии отказа.

Я могу получить доступ к объектам результатов как в состояниях успеха, так и в состояниях отказа в вызове API-интерфейса транзакции-> продажи, а также в вызове API-интерфейса клиента-> создания в состоянии сбоя, я не могу получить доступ к объектам результата, подобным приведенному ниже, в статусе успеха ,

$result->credit_card_verification->status
$result->credit_card_verification->processor_response_code

Как я могу получить доступ к объектам результатов $result->credit_card_verification, когда вызов API Customer->create завершается успешно?

Я также ссылался на ссылку ниже, но не могу понять,

https://developers.braintreepayments.com/javascript+perl/reference/objects/customer https://developers.braintreepayments.com/javascript+perl/reference/objects/transaction https://github.com/braintree/braintree_perl/blob/master/lib/Net/Braintree/CreditCardVerification.pm

Пожалуйста, найдите фрагмент моего примера кода,

if ( $result->is_success ) {
    print "\nThe result is" . $result;
    print "\n" . $result->customer->id;

    #can't able to access these details here
    my $verification = $result->credit_card_verification;
    print $result->status;
    print $result->processor_response_code;
    print $verification->processor_response_text;

    $self->new_agreement_id( $result->customer->credit_cards->[0]->token );
    $self->collection_status( $status_codes{Authorized} );
    $self->status_text( $result->credit_card_verification->status );
    $self->status( $result->credit_card_verification->processor_response_code );
    $self->cvv_response( $result->credit_card_verification->cvv_response_code );
    $self->avs( $result->credit_card_verification->avs_postal_code_response_code );
}
else {
    print "\nResult is" . $result->errors . "\n";
    print "Message is:" . $result->message . "\n";

    #can able to access these details here
    my $verification = $result->credit_card_verification;
    print $verification->status;
    print $verification->processor_response_code;
    print $verification->processor_response_text;

    $self->collection_status( $status_codes{failed} );
    $self->status( $verification->processor_response_code );
    $self->cvv_response( $result->credit_card_verification->cvv_response_code );
    $self->avs( $result->credit_card_verification->avs_postal_code_response_code );
    $self->status_text( $verification->status );
}

Здесь я всегда использую опцию verify_card в вызове API Customer->create.

Любая помощь приветствуется.


person Logunath    schedule 05.08.2014    source источник


Ответы (1)


Я работаю в Braintree. Если у вас есть дополнительные вопросы, свяжитесь с нашей службой поддержки.

Вы не можете получить объект проверки кредитной карты в случае успеха. Подтверждение кредитной карты будет возвращено только в случае сбоя. :

Результат создания клиента или способа оплаты может содержать объект результата проверки. Объект результата проверки будет присутствовать только в том случае, если проверка выполнялась и возвращается processor_declined или gateway_rejected. Успешные результаты не будут возвращать объект результата проверки.

person agf    schedule 05.08.2014
comment
Спасибо за ваши комментарии, но я должен найти какой-то другой способ добиться этого, может быть, я должен жестко кодировать успех. - person Logunath; 06.08.2014
comment
@Logunath Я бы посоветовал вам пересмотреть, зачем вам нужна эта информация об успехе; это обычно не служит цели в этом случае. - person agf; 06.08.2014
comment
Это обязательный параметр, который я должен возвращать при каждом вызове API в соответствии с дизайном проекта. - person Logunath; 07.08.2014