{"info":{"_postman_id":"93622380-e92d-4708-ba2e-939404ac4bd2","name":"PayPal/Venmo","description":"<html><head></head><body><h2 id=\"purpose-of-the-document\">Purpose of the document</h2>\n<p>The purpose of this document is to describe the Instructions on support for PayPal\\Venmo and their<br>required or optional input &amp; output parameters. It also provides sample SOAP request &amp; response as<br>reference for client developers.</p>\n<h2 id=\"prerequisite\">Prerequisite:</h2>\n<ul>\n<li><p>Merchant onboarded to MPPG and PayPal</p>\n</li>\n<li><p>PayPal mobile app to generate new QRCs</p>\n</li>\n</ul>\n<p>MPPGv4’s ProcessData and MPPGv3’s ProcessEMVSRED operations support “SALE” transaction-typefor PayPal QRC. And their ProcessReferenceID operation supports “VOID” and “REFUND” transaction-types.</p>\n<h2 id=\"instructions-for-process-qrc-based-transactions\">Instructions for Process QRC-based transactions</h2>\n<p>MPPGv4’s ProcessData and MPPGv3’s ProcessEMVSRED operations support “SALE” transaction-typefor PayPal QRC. And their ProcessReferenceID operation supports “VOID” and “REFUND” transaction-types.</p>\n<p>In ALL PayPal QRC-based transactions, in addition to the MPPG Authentication fields, ProcessorName and TransactionType, the client must provide a key-value pair in AdditionalRequestData with “ForHeader_PayPal-Request-Id” as the key. Its value will be sent to PayPal as PayPal-Request-Id (As per PayPal’s documentation, this is a ‘ _Unique request id. To be used for idempotency checks if necessary._<em>This is the idempotency id to be used in the Cancel request.</em> ’).</p>\n<p>In the case of “SALE” transaction-type, the merchant-assigned store-Id must be provided as a key-value pair in TransactionInputDetails with “point_of_sale_details.store_details.external_id” as the key.</p>\n<p>As for PayPal QRCs, they can be input as clear-text string or as encrypted data from a MagTek reader capable of scanning QRCs. When a clear-text string, the QRC must be provided as a key-value pair in TransactionInputDetails with “credential_info.customer.qr_code” as the key. However, when input as encrypted reader data, the corresponding DataInput/EMVSREDInput fields must be<br>populated.</p>\n<p>For “VOID” transaction-type, the PayPal-Request-Id of the original “SALE” transaction must be<br>provided as a key-value pair in TransactionInputDetails with “original_request_idempotency_key” as the key.</p>\n<p>Finally, for “REFUND” transaction-type, the merchant-assigned store-id must be provided as a key-value pair in TransactionInputDetails with “store_details.external_id” as the key. In addition, the transaction-Id of the original “SALE” transaction must be provided as input ReferenceTransactionID.</p>\n<h2 id=\"2-processing-requests\">2 Processing Requests</h2>\n<h3 id=\"21-sale-with-clear-text-qrc\">2.1 Sale with Clear-text QRC</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-xml\">&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:mpp=\"http://www.magensa.net/MPPGv4/\" xmlns:mpp1=\"http://schemas.datacontract.org/2004/07/MPPGv4WS.Core\" xmlns:sys=\"http://schemas.datacontract.org/2004/07/System.Collections. Generic\"&gt;\n  &lt;soapenv:Header/&gt;\n  &lt;soapenv:Body&gt;\n    &lt;mpp:ProcessData&gt;\n      &lt;mpp:ProcessDataRequests&gt;\n        &lt;mpp1:ProcessDataRequest&gt;\n          &lt;mpp1:AdditionalRequestData&gt;\n            &lt;sys:KeyValuePairOfstringstring&gt;\n              &lt;sys:key&gt;ForHeader_PayPal-Request-Id&lt;/sys:key&gt;\n              &lt;sys:value&gt;12345&lt;/sys:value&gt;\n            &lt;/sys:KeyValuePairOfstringstring&gt;\n          &lt;/mpp1:AdditionalRequestData&gt;\n          &lt;mpp1:Authentication&gt;\n            &lt;mpp1:CustomerCode&gt;{CustomerCode}&lt;/mpp1:CustomerCode&gt;\n            &lt;mpp1:Password&gt;{Password}&lt;/mpp1:Password&gt;\n            &lt;mpp1:Username&gt;{Username}&lt;/mpp1:Username&gt;\n          &lt;/mpp1:Authentication&gt;\n          &lt;mpp1:CustomerTransactionID&gt;12345&lt;/mpp1:CustomerTransactionID&gt;\n          &lt;mpp1:DataInput&gt;\n            &lt;mpp1:Data/&gt;\n            &lt;mpp1:DataFormatType&gt;NONE&lt;/mpp1:DataFormatType&gt;\n            &lt;mpp1:IsEncrypted&gt;false&lt;/mpp1:IsEncrypted&gt;\n            &lt;mpp1:PaymentMode&gt;None&lt;/mpp1:PaymentMode&gt;\n          &lt;/mpp1:DataInput&gt;\n          &lt;mpp1:TransactionInput&gt;\n            &lt;mpp1:Amount&gt;1.00&lt;/mpp1:Amount&gt;\n            &lt;mpp1:ProcessorName&gt;PayPalQRC &lt;/mpp1:ProcessorName&gt;\n            &lt;mpp1:TransactionInputDetails&gt;\n              &lt;sys:KeyValuePairOfstringstring&gt;\n                &lt;sys:key&gt;credential_info.customer.qr_code&lt;/sys:key&gt;\n                &lt;sys:value&gt;791234567890&lt;/sys:value&gt;\n              &lt;/sys:KeyValuePairOfstringstring&gt;\n              &lt;sys:KeyValuePairOfstringstring&gt;\n                &lt;sys:key&gt;point_of_sale_details.store_details.external_id&lt;/sys:key&gt;\n                &lt;sys:value&gt;123 &lt;/sys:value&gt;\n              &lt;/sys:KeyValuePairOfstringstring&gt;\n            &lt;/mpp1:TransactionInputDetails&gt;\n            &lt;mpp1:TransactionType&gt;SALE&lt;/mpp1:TransactionType&gt;\n          &lt;/mpp1:TransactionInput&gt;\n        &lt;/mpp1:ProcessDataRequest&gt;\n      &lt;/mpp:ProcessDataRequests&gt;\n    &lt;/mpp:ProcessData&gt;\n  &lt;/soapenv:Body&gt;\n&lt;/soapenv:Envelope&gt;\n\n</code></pre>\n<h3 id=\"22-sale-with-encrypted-qrc\">2.2 Sale with Encrypted QRC</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-xml\">&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:mpp=\"http://www.magensa.net/MPPGv4/\" xmlns:mpp1=\"http://schemas.datacontract.org/2004/07/MPPGv4WS.Core\" xmlns:sys=\"http://schemas.datacontract.org/2004/07/System.Collections. Generic\"&gt;\n  &lt;soapenv:Header/&gt;\n  &lt;soapenv:Body&gt;\n    &lt;mpp:ProcessData&gt;\n      &lt;mpp:ProcessDataRequests&gt;\n        &lt;mpp1:ProcessDataRequest&gt;\n          &lt;mpp1:AdditionalRequestData&gt;\n            &lt;sys:KeyValuePairOfstringstring&gt;\n              &lt;sys:key&gt;ForHeader_PayPal-Request-Id&lt;/sys:key&gt;\n              &lt;sys:value&gt;12345&lt;/sys:value&gt;\n            &lt;/sys:KeyValuePairOfstringstring&gt;\n          &lt;/mpp1:AdditionalRequestData&gt;\n          &lt;mpp1:Authentication&gt;\n            &lt;mpp1:CustomerCode&gt;{CustomerCode}&lt;/mpp1:CustomerCode&gt;\n            &lt;mpp1:Password&gt;{Password}&lt;/mpp1:Password&gt;\n            &lt;mpp1:Username&gt;{Username}&lt;/mpp1:Username&gt;\n          &lt;/mpp1:Authentication&gt;\n          &lt;mpp1:CustomerTransactionID&gt;12345&lt;/mpp1:CustomerTransactionID&gt;\n          &lt;mpp1:DataInput&gt;\n            &lt;mpp1:Data&gt;{Data}&lt;/mpp1:Data&gt;\n            &lt;mpp1:DataFormatType&gt;TLV&lt;/mpp1:DataFormatType&gt;\n            &lt;mpp1:EncryptionInfo&gt;\n              &lt;mpp1:EncryptionType&gt;{EncryptionType}&lt;/mpp1:EncryptionType&gt;\n              &lt;mpp1:KSN&gt;{KSN}&lt;/mpp1:KSN&gt;\n              &lt;mpp1:NumberOfPaddedBytes&gt;{NumberOfPaddedBytes}&lt;/mpp1:NumberOfPaddedBytes&gt;\n            &lt;/mpp1:EncryptionInfo&gt;\n            &lt;mpp1:IsEncrypted&gt;true&lt;/mpp1:IsEncrypted&gt;\n            &lt;mpp1:PaymentMode&gt;EMV&lt;/mpp1:PaymentMode&gt;\n          &lt;/mpp1:DataInput&gt;\n          &lt;mpp1:TransactionInput&gt;\n            &lt;mpp1:Amount&gt;1.00&lt;/mpp1:Amount&gt;\n            &lt;mpp1:ProcessorName&gt;PayPalQRC &lt;/mpp1:ProcessorName&gt;\n            &lt;mpp1:TransactionInputDetails&gt;\n              &lt;sys:KeyValuePairOfstringstring&gt;\n                &lt;sys:key&gt;point_of_sale_details.store_details.external_id&lt;/sys:key&gt;\n                &lt;sys:value&gt;123&lt;/sys:value&gt;\n              &lt;/sys:KeyValuePairOfstringstring&gt;\n            &lt;/mpp1:TransactionInputDetails&gt;\n            &lt;mpp1:TransactionType&gt;SALE&lt;/mpp1:TransactionType&gt;\n          &lt;/mpp1:TransactionInput&gt;\n        &lt;/mpp1:ProcessDataRequest&gt;\n      &lt;/mpp:ProcessDataRequests&gt;\n    &lt;/mpp:ProcessData&gt;\n  &lt;/soapenv:Body&gt;\n&lt;/soapenv:Envelope&gt;\n\n</code></pre>\n<h3 id=\"23-void-qrc-transaction\">2.3 Void QRC Transaction</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-xml\">&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:mpp=\"http://www.magensa.net/MPPGv4/\" xmlns:mpp1=\"http://schemas.datacontract.org/2004/07/MPPGv4WS.Core\" xmlns:sys=\"http://schemas.datacontract.org/2004/07/System.Collections. Generic\"&gt;\n  &lt;soapenv:Header/&gt;\n  &lt;soapenv:Body&gt;\n    &lt;mpp:ProcessReferenceID&gt;\n      &lt;mpp:ProcessReferenceIDRequests&gt;\n        &lt;mpp1:ProcessReferenceIDRequest&gt;\n          &lt;mpp1:AdditionalRequestData&gt;\n            &lt;sys:KeyValuePairOfstringstring&gt;\n              &lt;sys:key&gt;ForHeader_PayPal-Request-Id&lt;/sys:key&gt;\n              &lt;sys:value&gt;12345&lt;/sys:value&gt;\n            &lt;/sys:KeyValuePairOfstringstring&gt;\n          &lt;/mpp1:AdditionalRequestData&gt;\n          &lt;mpp1:Authentication&gt;\n            &lt;mpp1:CustomerCode&gt;{CustomerCode}&lt;/mpp1:CustomerCode&gt;\n            &lt;mpp1:Password&gt;{Password}&lt;/mpp1:Password&gt;\n            &lt;mpp1:Username&gt;{Username}&lt;/mpp1:Username&gt;\n          &lt;/mpp1:Authentication&gt;\n          &lt;mpp1:CustomerTransactionID&gt;12345&lt;/mpp1:CustomerTransactionID&gt;\n          &lt;mpp1:TransactionInput&gt;\n            &lt;mpp1:ProcessorName&gt;PayPalQRC &lt;/mpp1:ProcessorName&gt;\n            &lt;mpp1:TransactionInputDetails&gt;\n              &lt;sys:KeyValuePairOfstringstring&gt;\n                &lt;sys:key&gt;original_request_idempotency_key&lt;/sys:key&gt;\n                &lt;sys:value&gt;1234&lt;/sys:value&gt;\n              &lt;/sys:KeyValuePairOfstringstring&gt;\n            &lt;/mpp1:TransactionInputDetails&gt;\n            &lt;mpp1:TransactionType&gt;VOID&lt;/mpp1:TransactionType&gt;\n            &lt;mpp1:ReferenceTransactionID/&gt;\n          &lt;/mpp1:TransactionInput&gt;\n        &lt;/mpp1:ProcessReferenceIDRequest&gt;\n      &lt;/mpp:ProcessReferenceIDRequests&gt;\n    &lt;/mpp:ProcessReferenceID&gt;\n  &lt;/soapenv:Body&gt;\n&lt;/soapenv:Envelope&gt;\n\n</code></pre>\n<h3 id=\"24-refund-qrc-transaction\">2.4 REFUND QRC Transaction</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-xml\">&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:mpp=\"http://www.magensa.net/MPPGv4/\" xmlns:mpp1=\"http://schemas.datacontract.org/2004/07/MPPGv4WS.Core\" xmlns:sys=\"http://schemas.datacontract.org/2004/07/System.Collections. Generic\"&gt;\n  &lt;soapenv:Header/&gt;\n  &lt;soapenv:Body&gt;\n    &lt;mpp:ProcessReferenceID&gt;\n      &lt;mpp:ProcessReferenceIDRequests&gt;\n        &lt;mpp1:ProcessReferenceIDRequest&gt;\n          &lt;mpp1:AdditionalRequestData&gt;\n            &lt;sys:KeyValuePairOfstringstring&gt;\n              &lt;sys:key&gt;ForHeader_PayPal-Request-Id&lt;/sys:key&gt;\n              &lt;sys:value&gt;12345&lt;/sys:value&gt;\n            &lt;/sys:KeyValuePairOfstringstring&gt;\n          &lt;/mpp1:AdditionalRequestData&gt;\n          &lt;mpp1:Authentication&gt;\n            &lt;mpp1:CustomerCode&gt;{CustomerCode}&lt;/mpp1:CustomerCode&gt;\n            &lt;mpp1:Password&gt;{Password}&lt;/mpp1:Password&gt;\n            &lt;mpp1:Username&gt;{Username}&lt;/mpp1:Username&gt;\n          &lt;/mpp1:Authentication&gt;\n          &lt;mpp1:CustomerTransactionID&gt;12345&lt;/mpp1:CustomerTransactionID&gt;\n          &lt;mpp1:TransactionInput&gt;\n            &lt;mpp1:Amount&gt;1.00&lt;/mpp1:Amount&gt;\n            &lt;mpp1:ProcessorName&gt;PayPalQRC &lt;/mpp1:ProcessorName&gt;\n            &lt;mpp1:TransactionInputDetails&gt;\n              &lt;sys:KeyValuePairOfstringstring&gt;\n                &lt;sys:key&gt;store_details.external_id&lt;/sys:key&gt;\n                &lt;sys:value&gt;123 &lt;/sys:value&gt;\n              &lt;/sys:KeyValuePairOfstringstring&gt;\n            &lt;/mpp1:TransactionInputDetails&gt;\n            &lt;mpp1:TransactionType&gt;REFUND&lt;/mpp1:TransactionType&gt;\n            &lt;mpp1:ReferenceTransactionID&gt;{ReferenceTransactionID}&lt;/mpp1:ReferenceTransactionID&gt;\n          &lt;/mpp1:TransactionInput&gt;\n        &lt;/mpp1:ProcessReferenceIDRequest&gt;\n      &lt;/mpp:ProcessReferenceIDRequests&gt;\n    &lt;/mpp:ProcessReferenceID&gt;\n  &lt;/soapenv:Body&gt;\n&lt;/soapenv:Envelope&gt;\n\n</code></pre>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"33729815","collectionId":"93622380-e92d-4708-ba2e-939404ac4bd2","publishedId":"2sAYJ1jgwJ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-12-17T22:09:07.000Z"},"item":[{"name":"ProcessData","id":"9cdb9f4f-df32-47e1-b1ff-73d735d6a551","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[{\r\n \"AdditionalRequestData\":[{\r\n  \"key\":\"<string>\",\r\n  \"value\":\"<string>\"\r\n }],\r\n \"Authentication\":{\r\n  \"CustomerCode\":\"<string>\",\r\n  \"Password\":\"<string>\",\r\n  \"Username\":\"<string>\"\r\n },\r\n \"CustomerTransactionID\":\"<string>\",\r\n \"DataInput\":{\r\n  \"Data\":\"<string>\",\r\n  \"DataFormatType\":<int>,\r\n  \"EncryptionInfo\":{\r\n\t\"EncryptionType\":\"<string>\",\r\n\t\"KSN\":\"<string>\",\r\n\t\"NumberOfPaddedBytes\":<int>\r\n  },\r\n  \"IsEncrypted\":<boolean>,\r\n  \"PaymentMode\":<int>\r\n },\r\n \"TransactionInput\":{\r\n  \"Amount\":<decimal>,\r\n  \"ProcessorName\":\"<string>\",\r\n  \"TransactionInputDetails\":[{\r\n   \"key\":\"<string>\",\r\n   \"value\":\"<string>\"\r\n  }],\r\n  \"TransactionType\":<int>\r\n }\r\n}]","options":{"raw":{"language":"json"}}},"url":"https://mppg.magensa.net/v4/MPPGv4Service.svc/JSON/ProcessData","urlObject":{"protocol":"https","path":["v4","MPPGv4Service.svc","JSON","ProcessData"],"host":["mppg","magensa","net"],"query":[],"variable":[]}},"response":[{"id":"1efc8744-5c9e-419c-bf41-e4673ac16a86","name":"With Clear QR Code","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[{\r\n \"AdditionalRequestData\":[{\r\n  \"key\":\"ForHeader_PayPal-Request-Id\",\r\n  \"value\":\"{{ForHeader_PayPal-Request-Id}}\"\r\n }],\r\n \"Authentication\":{\r\n    \"CustomerCode\": \"{{CustomerCode}}\",\r\n    \"Password\": \"{{Password}}\",\r\n    \"Username\": \"{{Username}}\"\r\n },\r\n \"CustomerTransactionID\":\"X\",\r\n \"DataInput\":{\r\n  \"Data\":\"\",\r\n  \"DataFormatType\":1,\r\n  \"IsEncrypted\":false,\r\n  \"PaymentMode\":-1\r\n },\r\n \"TransactionInput\":{\r\n  \"Amount\":1.23,\r\n  \"ProcessorName\":\"PayPalQRC-Sandbox\",\r\n  \"TransactionInputDetails\":[{\r\n   \"key\":\"credential_info.customer.qr_code\",\r\n   \"value\":\"{{credential_info.customer.qr_code}}\"\r\n  },\r\n  {\r\n   \"key\":\"point_of_sale_details.store_details.external_id\",\r\n   \"value\":\"{{point_of_sale_details.store_details.external_id}}\"\r\n  }],\r\n  \"TransactionType\":1\r\n }\r\n}]","options":{"raw":{"language":"json"}}},"url":"https://mppg.magensa.net/v4/MPPGv4Service.svc/JSON/ProcessData"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"73c330bb-68b7-44ba-8c5d-4a4ba63ed184","name":"With Encrypted QR Code","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[{\r\n \"AdditionalRequestData\":[{\r\n  \"key\":\"ForHeader_PayPal-Request-Id\",\r\n  \"value\":\"{{ForHeader_PayPal-Request-Id}}\"\r\n }],\r\n \"Authentication\":{\r\n    \"CustomerCode\": \"{{CustomerCode}}\",\r\n    \"Password\": \"{{Password}}\",\r\n    \"Username\": \"{{Username}}\"\r\n },\r\n \"CustomerTransactionID\":\"X\",\r\n \"DataInput\":{\r\n  \"Data\":\"46F787EB60AE8B65E06E4653860B335C17FB0FBDCEC62C2B\",\r\n  \"DataFormatType\":0,\r\n  \"EncryptionInfo\":{\r\n   \"EncryptionType\":\"80\",\r\n   \"KSN\":\"FFFF9876543210200009\",\r\n   \"NumberOfPaddedBytes\":0\r\n  },\r\n  \"IsEncrypted\":true,\r\n  \"PaymentMode\":2\r\n },\r\n \"TransactionInput\":{\r\n  \"Amount\":1.23,\r\n  \"ProcessorName\":\"PayPalQRC-Sandbox\",\r\n  \"TransactionInputDetails\":[{\r\n   \"key\":\"point_of_sale_details.store_details.external_id\",\r\n   \"value\":\"{{point_of_sale_details.store_details.external_id}}\"\r\n  }],\r\n  \"TransactionType\":1\r\n }\r\n}]","options":{"raw":{"language":"json"}}},"url":"https://mppg.magensa.net/v4/MPPGv4Service.svc/JSON/ProcessData"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9cdb9f4f-df32-47e1-b1ff-73d735d6a551"}]}