{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-android/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["code-walkthrough","step"]},"type":"markdown"},"seo":{"title":"Signature Upload | Android Card Present SDK Reference","description":"Reference for uploadSignature — attach a captured buyer signature to a card-present transaction using the Finix Android SDK.","siteUrl":"https://docs.finix.com/","llmstxt":{"hide":false,"sections":[{"title":"Getting Started","includeFiles":["guides/getting-started/**/*.md"],"excludeFiles":[]},{"title":"Online Payments","includeFiles":["guides/online-payments/**/*.md"],"excludeFiles":["guides/online-payments/payment-features/fsa-hsa-non-healthcare-mcc.md"]},{"title":"In-Person Payments","includeFiles":["guides/in-person-payments/**/*.md"],"excludeFiles":[]},{"title":"Subscriptions","includeFiles":["guides/subscriptions/**/*.md"],"excludeFiles":[]},{"title":"After the Payment","includeFiles":["guides/subscriptions/after-the-payment/**/*.md"],"excludeFiles":[]},{"title":"Managing Operations","includeFiles":["guides/managing-operations/**/*.md"],"excludeFiles":[]},{"title":"Platform Payments","includeFiles":["guides/platform-payments/**/*.md"],"excludeFiles":[]},{"title":"Payouts","includeFiles":["guides/payouts/**/*.md"],"excludeFiles":[]},{"title":"Developers","includeFiles":["additional-resources/developers/**/*.md"],"excludeFiles":[]},{"title":"Plugins","includeFiles":["additional-resources/plugins/**/*.md"],"excludeFiles":[]},{"title":"Industry Considerations","includeFiles":["guides/industry-considerations/**/*.md"],"excludeFiles":[]},{"title":"Regional Considerations","includeFiles":["guides/regional-considerations/**/*.md"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeWalkthrough","attributes":{"__idx":1,"filters":{},"filesets":[{"files":[{"path":"android/card-present/_filesets/signature.kt","content":[{"start":0,"condition":{"steps":["signature-shape"]},"children":["fun uploadSignature(","    pngEncodedBase64: String,","    traceId: String,",")"]},"",{"start":7,"condition":{"steps":["usage"]},"children":["mpos.startTransaction(","    amount = 1000L,","    transactionType = TransactionType.SALE,","    transactionCallback = object : MPOSTransactionCallback {","        override fun onSuccess(result: TransactionResult?) {","            result?.traceId?.let { traceId ->","                mpos.uploadSignature(","                    pngEncodedBase64 = capturedSignaturePng,","                    traceId = traceId","                )","            }","        }","        override fun onError(errorMessage: String) { }","        override fun onProcessing(currentStepMessage: String) { }","    },","    promptForSignature = PromptForSignature.Always",")"]},""],"metadata":{"steps":["signature-shape","usage"]},"basename":"signature.kt","language":"kotlin"}],"downloadAssociatedFiles":[]}],"steps":[{"id":"signature-shape","heading":"Function signature"},{"id":"usage","heading":"Upload after a transaction"}],"inputs":{},"toggles":{}},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"signature-upload","__idx":0},"children":["Signature Upload"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After a transaction where a signature was collected, call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadSignature()"]}," to attach the signature image to the transaction record."]},{"$$mdtype":"Tag","name":"CodeStep","attributes":{"id":"signature-shape","heading":"Function signature"},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"kotlin","header":{"controls":{"copy":{}}},"source":"fun uploadSignature(\n    pngEncodedBase64: String,\n    traceId: String,\n)\n","lang":"kotlin"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pngEncodedBase64"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["String"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The buyer's signature as a base64-encoded PNG."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["traceId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["String"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The trace ID from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TransactionResult"]}," returned in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onSuccess"]},"."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"usage","__idx":1},"children":["Usage"]},{"$$mdtype":"Tag","name":"CodeStep","attributes":{"id":"usage","heading":"Upload after a transaction"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadSignature()"]}," inside the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onSuccess"]}," callback of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTransaction()"]}," when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["promptForSignature"]}," is not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Never"]},"."]}]}]}]},"headings":[{"value":"Signature Upload","id":"signature-upload","depth":1},{"value":"Usage","id":"usage","depth":2}],"frontmatter":{"seo":{"title":"Signature Upload | Android Card Present SDK Reference","description":"Reference for uploadSignature — attach a captured buyer signature to a card-present transaction using the Finix Android SDK."},"markdown":{"toc":{"hide":true}},"footer":{"hide":true}},"lastModified":"2026-05-18T23:35:10.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/android/card-present/signature","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}