Partager via


ClaimedMagneticStripeReader.BankCardDataReceived Événement

Définition

Se produit lorsqu’un carte bancaire est balayé.

// Register
event_token BankCardDataReceived(TypedEventHandler<ClaimedMagneticStripeReader, MagneticStripeReaderBankCardDataReceivedEventArgs const&> const& handler) const;

// Revoke with event_token
void BankCardDataReceived(event_token const* cookie) const;

// Revoke with event_revoker
ClaimedMagneticStripeReader::BankCardDataReceived_revoker BankCardDataReceived(auto_revoke_t, TypedEventHandler<ClaimedMagneticStripeReader, MagneticStripeReaderBankCardDataReceivedEventArgs const&> const& handler) const;
public event TypedEventHandler<ClaimedMagneticStripeReader,MagneticStripeReaderBankCardDataReceivedEventArgs> BankCardDataReceived;
function onBankCardDataReceived(eventArgs) { /* Your code */ }
claimedMagneticStripeReader.addEventListener("bankcarddatareceived", onBankCardDataReceived);
claimedMagneticStripeReader.removeEventListener("bankcarddatareceived", onBankCardDataReceived);
- or -
claimedMagneticStripeReader.onbankcarddatareceived = onBankCardDataReceived;
Public Custom Event BankCardDataReceived As TypedEventHandler(Of ClaimedMagneticStripeReader, MagneticStripeReaderBankCardDataReceivedEventArgs) 

Type d'événement

Exemples

L’exemple suivant montre comment configurer le lecteur de bandes magnétiques pour recevoir des données après un événement d’analyse.

void Scenario1::ScenarioStartReadButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    create_task(CreateDefaultReaderObject()).then([this](void)
    {
        if (_reader != nullptr)
        {
            // Claim the magnetic stripe reader for exclusive use by your application.
            create_task(ClaimReader()).then([this](void)
            {
                if (_claimedReader)
                {
                    // Add a release device requested event handler. If this event is not handled,  
                    // another app can claim the magnetic stripe reader.
                    _releaseDeviceRequestedToken = _claimedReader->ReleaseDeviceRequested::add(ref new EventHandler<ClaimedMagneticStripeReader^>(this, &Scenario1::OnReleaseDeviceRequested));

                    // Add a data receive event handler.
                    _bankCardDataReceivedToken =  _claimedReader->BankCardDataReceived::add(ref new TypedEventHandler<ClaimedMagneticStripeReader^, MagneticStripeReaderBankCardDataReceivedEventArgs^>(this, &Scenario1::OnBankCardDataReceived));
                    UpdateReaderStatusTextBlock("Attached the BankCardDataReceived event handler..");

                    // Set the app to decode the raw data from the magnetic stripe reader.
                    _claimedReader->IsDecodeDataEnabled = true;

                    // Enable the magnetic stripe reader.
                    create_task(EnableReader()).then([this](void)
                    {
                        UpdateReaderStatusTextBlock("Ready to Swipe..");

                        // Reset the button state
                        ScenarioEndReadButton->IsEnabled = true;
                        ScenarioStartReadButton->IsEnabled = false;

                    });
                }
            });
        }
    });
}
private async void ScenarioStartReadButton_Click(object sender, RoutedEventArgs e)
{
    if (await CreateDefaultMagneticStripeReaderObject())
    {
        if (_reader != null)
        {
            // Claim the reader for exclusive use by your application.
            if (await ClaimReader())
            {
                if (_claimedReader != null)
                {
                    /// Add a release device requested event handler. If this event is not handled,  
                    // another app can claim the magnetic stripe reader.
                    _claimedReader.ReleaseDeviceRequested += OnReleaseDeviceRequested;

                    // Add a data receive event handler.
                    _claimedReader.BankCardDataReceived += OnBankCardDataReceived;
                    UpdateReaderStatusTextBlock("Attached the BankCardDataReceived Event handler..");

                    // Set the app to decode the raw data from the magnetic stripe reader.
                    _claimedReader.IsDecodeDataEnabled = true;

                    // Enable the magnetic stripe reader.
                    if (await EnableReader())
                    {
                        UpdateReaderStatusTextBlock("Ready to Swipe..");

                        // Reset the button state
                        ScenarioEndReadButton.IsEnabled = true;
                        ScenarioStartReadButton.IsEnabled = false;
                    }
                }
            }
        }
    }
}
void Scenario1::OnBankCardDataReceived(Windows::Devices::PointOfService::ClaimedMagneticStripeReader^sender, Windows::Devices::PointOfService::MagneticStripeReaderBankCardDataReceivedEventArgs^args)
{
    // Read the data and display
    Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler( 
        [this,args]() 
    {
        ScenarioOutputAccountNumber->Text = args->AccountNumber;
        ScenarioOutputExpirationDate->Text = args->ExpirationDate;
        ScenarioOutputFirstName->Text = args->FirstName;
        ScenarioOutputMiddleInitial->Text = args->MiddleInitial;
        ScenarioOutputServiceCode->Text = args->ServiceCode;
        ScenarioOutputSuffix->Text = args->Suffix;
        ScenarioOutputSurname->Text = args->Surname;
        ScenarioOutputTitle->Text = args->Title;
    }));

}
async void OnBankCardDataReceived(object sender, MagneticStripeReaderBankCardDataReceivedEventArgs args)
{
    // Read the data and display
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        ScenarioOutputAccountNumber.Text = args.AccountNumber;
        ScenarioOutputExpirationDate.Text = args.ExpirationDate;
        ScenarioOutputFirstName.Text = args.FirstName;
        ScenarioOutputMiddleInitial.Text = args.MiddleInitial;
        ScenarioOutputServiceCode.Text = args.ServiceCode;
        ScenarioOutputSuffix.Text = args.Suffix;
        ScenarioOutputSurname.Text = args.Surname;
        ScenarioOutputTitle.Text = args.Title;
    });

}

Remarques

Une application peut s’inscrire à ce gestionnaire d’événements pour obtenir les données carte de la banque chaque fois qu’une carte bancaire est balayée dans le lecteur de bandes magnétiques.

S’applique à

Voir aussi