Implementing Signature Capture
      You need to provide a UI for signature capture. The SDK tell you which method to show in
                    the
actionRequired
block.actionRequired:^(MPTransactionProcess *process, MPTransaction *transaction, MPTransactionAction action, MPTransactionActionSupport *support) { switch (action) { case MPTransactionActionCustomerSignature: { NSLog(@"show a UI that let's the customer provide their signature!"); // In a live app, this image comes from your signature screen UIGraphicsBeginImageContext(CGSizeMake(1, 1)); UIImage *capturedSignature = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [process continueWithCustomerSignature:capturedSignature verified:YES]; break; } case MPTransactionActionCustomerIdentification: { // always return NO here [process continueWithCustomerIdentityVerified:NO]; break; } default: { break; } } }
Capturing the Signature
The merchant hands the device to the customer. The customer either signs on the screen and
                  approves the payment, or cancels the transaction. If the customer signs, the
                  merchant compares the signature on the screen and on the card. You can use our
                    open source signature screen. After
                  collecting the signature, continue the transaction:
[process continueWithCustomerSignature:capturedSignature verified:YES];
Make sure to add a 
Cancel
 button to your UI to enable the
                  shopper to abort the transaction. If the customer presses
                    Cancel
. continue the transaction like this:[process continueWithCustomerSignature:nil verified:NO];
Implementing Signature Capture
 You need to provide
                UI for signature capture. The SDK tells you which method to show by calling the
                  
onCustomerSignatureRequired
 or the
                  onCustomerVerificationRequired
 on your
                  TransactionProcessListener
:@Override public void onCustomerSignatureRequired(TransactionProcess process, Transaction transaction) { // in a live app, this image comes from your signature screen Bitmap.Config conf = Bitmap.Config.ARGB_8888; Bitmap bm = Bitmap.createBitmap(1, 1, conf); // Submit the signature digitally as part of the transaction byte[] signature = SignatureHelper.byteArrayFromBitmap(bm); process.continueWithCustomerSignature(signature, true); // Or alternatively if you would like to collect the signature on the printed receipt // process.continueWithCustomerSignatureOnReceipt(); } @Override public void onCustomerVerificationRequired(TransactionProcess process, Transaction transaction) { // always return false here process.continueWithCustomerIdentityVerified(false); } }
The SDK will compress each signature image that you send. To avoid errors during
                  the compression process because of large signature images or unsupported image
                  formats. we recommend the submitted signature images follow these guidelines:
- Dimensions similar to the target image size of 960x720 pixels
 - JPEG or PNG image format
 - Greyscale image
 
Capturing the Signature