diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 674dfc9..c686acc 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2227,6 +2227,12 @@
                 android:value="true" />
         </activity>
 
+        <activity android:name=".nfc.HowItWorks"
+                  android:label="@string/nfc_payment_settings_title"
+                  android:parentActivityName="Settings$PaymentSettingsActivity">
+                  android:excludeFromRecents="true">
+        </activity>
+
         <activity android:name=".SmsDefaultDialog"
                   android:label="@string/sms_application_title"
                   android:excludeFromRecents="true"
diff --git a/res/drawable-mdpi/nfc_how_it_works.png b/res/drawable-mdpi/nfc_how_it_works.png
new file mode 100644
index 0000000..ef3cd8c
--- /dev/null
+++ b/res/drawable-mdpi/nfc_how_it_works.png
Binary files differ
diff --git a/res/drawable-xhdpi/nfc_how_it_works.png b/res/drawable-xhdpi/nfc_how_it_works.png
new file mode 100644
index 0000000..874d32f
--- /dev/null
+++ b/res/drawable-xhdpi/nfc_how_it_works.png
Binary files differ
diff --git a/res/drawable-xxhdpi/nfc_how_it_works.png b/res/drawable-xxhdpi/nfc_how_it_works.png
new file mode 100644
index 0000000..748ad6a
--- /dev/null
+++ b/res/drawable-xxhdpi/nfc_how_it_works.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/nfc_how_it_works.png b/res/drawable-xxxhdpi/nfc_how_it_works.png
new file mode 100644
index 0000000..d970dae
--- /dev/null
+++ b/res/drawable-xxxhdpi/nfc_how_it_works.png
Binary files differ
diff --git a/res/layout/nfc_payment_empty.xml b/res/layout/nfc_payment_empty.xml
index 42e2fa9..e89d865 100644
--- a/res/layout/nfc_payment_empty.xml
+++ b/res/layout/nfc_payment_empty.xml
@@ -30,6 +30,7 @@
             android:id="@+id/nfc_payment_empty_text"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:gravity="center"
             android:textAppearance="?android:attr/textAppearanceLarge"
             android:textColor="?android:attr/textColorSecondary"
             android:paddingTop="32dp"
diff --git a/res/layout/nfc_payment_how_it_works.xml b/res/layout/nfc_payment_how_it_works.xml
new file mode 100644
index 0000000..ac48e4e
--- /dev/null
+++ b/res/layout/nfc_payment_how_it_works.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/trusted_devices_prompt_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#FF80CBC4" >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="200dp"
+            android:background="#FFB2DFDB" >
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/nfc_how_it_works_image_text"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:paddingLeft="16dp"
+            android:paddingRight="16dp"
+            android:paddingTop="72dp"
+            android:orientation="vertical">
+
+          <ImageView
+              android:id="@+id/nfc_how_it_works_image"
+              android:layout_width="match_parent"
+              android:layout_height="188dp"
+              android:gravity="center"
+              android:src="@drawable/nfc_how_it_works" />
+
+          <TextView
+              android:id="@+id/nfc_how_it_works_title"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:text="@string/nfc_how_it_works_title"
+              android:paddingLeft="74dp"
+              android:paddingRight="74dp"
+              android:textColor="#FF263238"
+              android:textSize="24sp" />
+
+          <TextView
+              android:id="@+id/nfc_how_it_works_content"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:paddingTop="10dp"
+              android:paddingBottom="18dp"
+              android:paddingLeft="74dp"
+              android:paddingRight="74dp"
+              android:text="@string/nfc_how_it_works_content"
+              android:textColor="#FF263238"
+              android:textSize="20sp" />
+        </LinearLayout>
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="48dp"
+            android:layout_alignParentBottom="true"
+            android:background="#FFB2DFDB" >
+          <Button
+              android:id="@+id/nfc_how_it_works_button"
+              android:background="?android:attr/selectableItemBackground"
+              android:layout_alignParentRight="true"
+              android:layout_width="wrap_content"
+              android:layout_height="48dp"
+              android:layout_marginRight="20dp"
+              android:text="@string/nfc_how_it_works_got_it"
+              android:textSize="14sp"
+              android:textColor="#263238"
+              style="?android:attr/borderlessButtonStyle" />
+        </RelativeLayout>
+    </RelativeLayout>
+</FrameLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9569b5c..919b1a1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5563,6 +5563,12 @@
     <string name="nfc_payment_favor_default_default_unknown">Still use default</string>
     <!-- Header for a dialog asking the user which payment app to use -->
     <string name="nfc_payment_pay_with">At a Tap &amp; pay terminal, pay with:</string>
+    <!-- Header for text explaning how to pay at a payment terminal in a store -->
+    <string name="nfc_how_it_works_title">Paying at the terminal</string>
+    <!-- Content for text explaning how to pay at a payment terminal in a store -->
+    <string name="nfc_how_it_works_content">Once you\'ve set up a Tap &amp; pay app and your phone is powered on, tap your phone on any terminal with the Tap &amp; pay logo on it to make a purchase.</string>
+    <!-- Button the user can click to indicate he understood and dismiss the screen -->
+    <string name="nfc_how_it_works_got_it">Got it</string>
     <!-- NFC More... title.  [CHAR LIMIT=40] -->
     <string name="nfc_more_title">More...</string>
     <!-- Label for the dialog that is shown when the user is asked to set a
diff --git a/src/com/android/settings/nfc/HowItWorks.java b/src/com/android/settings/nfc/HowItWorks.java
new file mode 100644
index 0000000..310a7e1
--- /dev/null
+++ b/src/com/android/settings/nfc/HowItWorks.java
@@ -0,0 +1,30 @@
+package com.android.settings.nfc;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import com.android.settings.R;
+public class HowItWorks extends Activity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.nfc_payment_how_it_works);
+        getActionBar().setDisplayHomeAsUpEnabled(true);
+        Button gotIt = (Button) findViewById(R.id.nfc_how_it_works_button);
+        gotIt.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+               finish();
+            }
+        });
+    }
+
+    @Override
+    public boolean onNavigateUp() {
+        finish();
+        return true;
+    }
+
+}
diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java
index ca38d92..bc438d1 100644
--- a/src/com/android/settings/nfc/PaymentSettings.java
+++ b/src/com/android/settings/nfc/PaymentSettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.nfc;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.preference.PreferenceScreen;
@@ -88,7 +89,8 @@
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
         MenuItem menuItem = menu.add(R.string.nfc_payment_how_it_works);
-        menuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
-        // TODO link to tutorial screen
+        Intent howItWorksIntent = new Intent(getActivity(), HowItWorks.class);
+        menuItem.setIntent(howItWorksIntent);
+        menuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);
     }
 }
