API REFERENCE
Apple Pay
Parámetros
| Parameter | Type | Descripción | Obligatorio |
|---|---|---|---|
| data.pay_method | string | online | ✓ |
| data.sub_pay_method | string | Apple Pay | ✓ |
| data.operation | string | 1.Sales 2.Authorisation; | ✓ |
| data.order_id | string | 商户的订单ID | ✓ |
| data.amount | string | 金额数字。例如 € 24.99 应该写成24.99 | ✓ |
| data.currency | string | 货币代码,ISO 4217,例如EUR,CHF | ✓ |
| data.description | string | 订单描述 | ✓ |
| data.demo | string | 自定义字段 | — |
| data.payment_token_object | string | 从Apple Pay拿到的"paymentTokenObject"的字符串 | ✓ |
| data.timeout | string | 过期时间单位分钟(0-1440) | ✓ |
| data.notify_url | string | 支付完成后异步通知地址 | ✓ |
| data.request_id | string | 请求id需保持唯一,建议24以上位数字+字母 | ✓ |
Para flujos de pago compatibles con Apple Pay
Este método de pago inicia Apple Pay y debe integrarse en la aplicación o el sitio web del comercio. El cliente completa el pago en un dispositivo iOS.
1. Cómo funciona
Apple Pay utiliza credenciales tokenizadas de tarjetas de crédito o débito específicas del dispositivo (DPAN) en lugar del número de cuenta principal (PAN). Cuando el cliente confirma el pago con Face ID, Touch ID o un código, los datos tokenizados de la tarjeta se devuelven a su aplicación o sitio web. Después, el token puede enviarse a su proveedor de servicios de pago (PSP) y procesarse como un pago estándar en línea con tarjeta de crédito o débito.
Apple Pay admite todos los tipos de transacción que YabandPay ofrece actualmente para tarjetas de débito y crédito estándar, incluidos los reembolsos. Está disponible en aplicaciones y Safari en dispositivos Apple con iOS, watchOS y iPadOS, así como en Safari para macOS.
2. Apple Pay integration
Puede integrar Apple Pay en una aplicación o sitio web. Implemente la API de Apple para comprobar si Apple Pay está disponible como método de pago:
• Integre el SDK de PassKit para ofrecer Apple Pay en una aplicación, como se describe en PassKit.
• Integre Apple Pay JS para ofrecer Apple Pay en la web, como se describe en Apple pay js.
Tras la integración, Apple crea payment.token.paymentData. Pase este paymentData a YabandPay como una base64_encode cadena en payment_token_object para su descifrado y procesamiento.
3. Completar el registro con Apple
Antes de empezar, complete los siguientes pasos para su cuenta de Apple:
-
Registre una cuenta de Apple Developer. Inscríbase como desarrollador de Apple Pay y complete el proceso de certificación de Apple tal como se indica described here.
-
Para Apple Pay en la web (Safari), asegúrese de que su servidor cumpla los requisitos de seguridad adicionales de Apple, descritos described here.
-
Solicite a YabandPay un archivo CSR.
-
Envíe el CSR firmado a YabandPay.
-
Añada un botón de Apple Pay a su aplicación o sitio web. Utilice la API de PassKit o JavaScript correspondiente para mostrar un botón actualizado y localizado.
Para obtener más información, consulte las directrices oficiales de Apple: https://developer.apple.com/design/human-interface-guidelines/apple-pay/overview/introduction/
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| user | String | Cashier account UID | Obligatorio |
| sign | String | Signature | Obligatorio |
| method | String | v3.ApplePay | Obligatorio |
| time | Long | Timestamp | Obligatorio |
- Parameters
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| pay_method | String | online | Obligatorio |
| sub_pay_method | String | Apple Pay | Obligatorio |
| operation | String | 1.Sales 2.Authorisation; | Obligatorio |
| order_id | String | Merchant order ID | Obligatorio |
| amount | String | Amount as a numeric string. For example, enter 24.99 for € 24.99. | Obligatorio |
| currency | String | ISO 4217 currency code, for example EUR or CHF | Obligatorio |
| description | String | Order description | Obligatorio |
| demo | String | Custom field | Opcional |
| payment_token_object | String | The "paymentTokenObject" string obtained from Apple Pay | Obligatorio |
| timeout | String | Expiration time in minutes (0-1440) | Obligatorio |
| notify_url | String | Asynchronous notification URL after payment | Obligatorio |
| request_id | String | Unique request ID; a combination of digits and letters at least 24 characters is recommended | Obligatorio |
Obtaining payment_token_object:
Example token.paymentData returned by Apple Pay:
{
"version": "EC_v1",
"data": "4yHHmKd2YKSOaVoF+TdTdk9bVjhWYrDRSeyKvrX7I+3a4fyUg2bb7XkxyDlPyddoGzzLWf2ugLSmHL6B02R6tiF1a1VIMAbBdEbfs16dGc5MqD5nmrLWaJ1MWCLdJt1rIaq9z48v6oD+PRjAH1knS3Xeno9kAjG/VloJ69NqaIVEIboq3lGADJWgvTfuahpMCOl4WZpb0Nx0WZQjN9AJ85eiqegfFtweu3Vdgi913weMx9wWaXemecca1G5FUs/Ftdp7OEr24KJCgpPZUifLsHD6tS1es0XuQAW6tHOFpcCFUQWztAKYOEPJo/0f28zZ2aAQZZ8y7q/jJA3wSrxcR9cpNC1h7QRtnyNf9leGKNOT+VlTnKbSGo5oBphfZ3NUCrfFoXinNxXp2gp7INiSrbGGtlrIZ/odtj5+qf47Yg==",
"signature": "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",
"header": {
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDTiY5WtOPkloi/EHwf0Wv0AIh0LyhlYcqOPZczZMkE+mZN4o6tSseSg/OnoAH80HUuUFgURB97Frv/cmJceNLA==",
"publicKeyHash": "pKqL8wJe8PuVsbuYxk2O4Nke6I0lNMyUDOndIDMSGmw=",
"transactionId": "YOUR_SIGNATURE"
}
}
The payment_token_object field is the base64_encode string of payment.token.paymentData obtained from the Apple Pay integration.
Signature example:
Sorted parameters concatenated into a URL-style query string
"amount=0.1¤cy=EUR&description=test&method=v3.ApplePay¬ify_url=https://www.yabandpay.com/notify&operation=1&order_id=2546168761657651657984196878&pay_method=online&payment_token_object=eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNHlISG1LZDJZS1NPYVZvRitUZFRkazliVmpoV1lyRFJTZXlLdnJYN0krM2E0ZnlVZzJiYjdYa3h5RGxQeWRkb0d6ekxXZjJ1Z0xTbUhMNkIwMlI2dGlGMWExVklNQWJCZEViZnMxNmRHYzVNcUQ1bm1yTFdhSjFNV0NMZEp0MXJJYXE5ejQ4djZvRCtQUmpBSDFrblMzWGVubzlrQWpHL1Zsb0o2OU5xYUlWRUlib3EzbEdBREpXZ3ZUZnVhaHBNQ09sNFdacGIwTngwV1pRak45QUo4NWVpcWVnZkZ0d2V1M1ZkZ2k5MTN3ZU14OXdXYVhlbWVjY2ExRzVGVXMvRnRkcDdPRXIyNEtKQ2dwUFpVaWZMc0hENnRTMWVzMFh1UUFXNnRIT0ZwY0NGVVFXenRBS1lPRVBKby8wZjI4eloyYUFRWlo4eTdxL2pKQTN3U3J4Y1I5Y3BOQzFoN1FSdG55TmY5bGVHS05PVCtWbFRuS2JTR281b0JwaGZaM05VQ3JmRm9YaW5OeFhwMmdwN0lOaVNyYkdHdGxySVovb2R0ajUrcWY0N1lnPT0iLCJzaWduYXR1cmUiOiJNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4RFRBTEJnbGdoa2dCWlFNRUFnRXdnQVlKS29aSWh2Y05BUWNCQUFDZ2dEQ0NBK1F3Z2dPTG9BTUNBUUlDQ0ZuWW9ieXE5T1BOTUFvR0NDcUdTTTQ5QkFNQ01Ib3hMakFzQmdOVkJBTU1KVUZ3Y0d4bElFRndjR3hwWTJGMGFXOXVJRWx1ZEdWbmNtRjBhVzl1SUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHlNVEEwTWpBeE9UTTNNREJhRncweU5qQTBNVGt4T1RNMk5UbGFNR0l4S0RBbUJnTlZCQU1NSDJWall5MXpiWEF0WW5KdmEyVnlMWE5wWjI1ZlZVTTBMVk5CVGtSQ1QxZ3hGREFTQmdOVkJBc01DMmxQVXlCVGVYTjBaVzF6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSUl3L2F2RG5QZGVJQ3hRMlp0RkV1WTM0cWtCM1d5ejRMSE5TMUpubVBqUFRyM29HaVdvd2g1TU05M09qaXFXd3Zhdm9aTURSY1RvZWtRbXpwVWJFcFdqZ2dJUk1JSUNEVEFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGQ1B5U2NSUGsrVHZKK2JFOWloc1A2SzcvUzVMTUVVR0NDc0dBUVVGQndFQkJEa3dOekExQmdnckJnRUZCUWN3QVlZcGFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWldGcFkyRXpNREl3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUIwR0ExVWREZ1FXQkJRQ0pEQUxtdTd0UmpHWHBLWmFLWjVDY1lJY1JUQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0R3WUpLb1pJaHZkalpBWWRCQUlGQURBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCMG9iTWsyMEpKUXczVEoweFFkTVNBalpvZlNBNDZoY1hCTmlWbU1sKzhvd0lnYVRhUVU2djFDMXBTK2ZZQVRjV0tyV3hRcDlZSWFEZVE0S2M2MEI1SzJZRXdnZ0x1TUlJQ2RhQURBZ0VDQWdoSmJTKy9PcGphbHpBS0JnZ3Foa2pPUFFRREFqQm5NUnN3R1FZRFZRUUREQkpCY0hCc1pTQlNiMjkwSUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHhOREExTURZeU16UTJNekJhRncweU9UQTFNRFl5TXpRMk16QmFNSG94TGpBc0JnTlZCQU1NSlVGd2NHeGxJRUZ3Y0d4cFkyRjBhVzl1SUVsdWRHVm5jbUYwYVc5dUlFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJQQVhFWVFaMTJTRjFScGVKWUVIZHVpQW91L2VlNjVONEkzOFM1UGhNMWJWWmxzMXJpTFFsM1lOSWs1N3VnajlkaGZPaU10MnUyWnd2c2pvS1lUL1ZFV2pnZmN3Z2ZRd1JnWUlLd1lCQlFVSEFRRUVPakE0TURZR0NDc0dBUVVGQnpBQmhpcG9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQTBMV0Z3Y0d4bGNtOXZkR05oWnpNd0hRWURWUjBPQkJZRUZDUHlTY1JQaytUdkorYkU5aWhzUDZLNy9TNUxNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdId1lEVlIwakJCZ3dGb0FVdTdEZW9WZ3ppSnFraXBuZXZyM3JyOXJMSktzd053WURWUjBmQkRBd0xqQXNvQ3FnS0lZbWFIUjBjRG92TDJOeWJDNWhjSEJzWlM1amIyMHZZWEJ3YkdWeWIyOTBZMkZuTXk1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CQUdDaXFHU0liM1kyUUdBZzRFQWdVQU1Bb0dDQ3FHU000OUJBTUNBMmNBTUdRQ01EclBjb05SRnBteGh2czF3MWJLWXIvMEYrM1pEM1ZOb282KzhaeUJYa0szaWZpWTk1dFpuNWpWUVEyUG5lbkMvZ0l3TWkzVlJDR3dvd1YzYkYzek9EdVFaLzBYZkN3aGJaWlB4bkpwZ2hKdlZQaDZmUnVaeTVzSmlTRmhCcGtQQ1pJZEFBQXhnZ0dITUlJQmd3SUJBVENCaGpCNk1TNHdMQVlEVlFRRERDVkJjSEJzWlNCQmNIQnNhV05oZEdsdmJpQkpiblJsWjNKaGRHbHZiaUJEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk1DQ0ZuWW9ieXE5T1BOTUFzR0NXQ0dTQUZsQXdRQ0FhQ0JrekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlOVEF4TWpJd016RXlORFZhTUNnR0NTcUdTSWIzRFFFSk5ERWJNQmt3Q3dZSllJWklBV1VEQkFJQm9Rb0dDQ3FHU000OUJBTUNNQzhHQ1NxR1NJYjNEUUVKQkRFaUJDQVBFcVhzSXE2WHVmS0Z1R2FuWk5EVUdIOFBoYmdzV1hqdkdidDNyZTdUUlRBS0JnZ3Foa2pPUFFRREFnUkdNRVFDSUEyelBXR2RIVlczWHUxZ0szYnhlRVpaaTJCUFU5dFhKeEFSb1JIV2FEQU9BaUJmNjNKcjhqVHRuMWk5QWdieFVsWldJcGN0Ylh1SXplRzU2U1VtQnlDNFF3QUFBQUFBQUE9PSIsImhlYWRlciI6eyJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVEVGlZNVd0T1BrbG9pL0VId2YwV3YwQUloMEx5aGxZY3FPUFpjelpNa0UrbVpONG82dFNzZVNnL09ub0FIODBIVXVVRmdVUkI5N0Zydi9jbUpjZU5MQT09IiwicHVibGljS2V5SGFzaCI6InBLcUw4d0plOFB1VnNidVl4azJPNE5rZTZJMGxOTXlVRE9uZElETVNHbXc9IiwidHJhbnNhY3Rpb25JZCI6IjU0MWRiMDc5Y2ZhOTBhMGY0MzMwYmNhNzNhNDhiZGY2MDlmZDcyZDhkNWQ0YzUxOGE3NDFjOGFlZmY4ZWM4ODMifX0=&request_id=5g71qqe2v3twvm1sr71e74al5h7q4pbq&sub_pay_method=Apple Pay&time=1721987969&timeout=0&user=YOUR_CASHIER_UID"
Sign stringA using secret_key
The resulting signature is:
"YOUR_SIGNATURE"
Request example (operation=1 Sales):
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.ApplePay",
"time": 1721987969,
"data": {
"description": "test",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Apple Pay",
"order_id": "YOUR_ORDER_ID",
"amount": "0.1",
"currency": "EUR",
"operation": "1",
"notify_url": "https://www.yabandpay.com/notify",
"payment_token_object": "eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNHlISG1LZDJZS1NPYVZvRitUZFRkazliVmpoV1lyRFJTZXlLdnJYN0krM2E0ZnlVZzJiYjdYa3h5RGxQeWRkb0d6ekxXZjJ1Z0xTbUhMNkIwMlI2dGlGMWExVklNQWJCZEViZnMxNmRHYzVNcUQ1bm1yTFdhSjFNV0NMZEp0MXJJYXE5ejQ4djZvRCtQUmpBSDFrblMzWGVubzlrQWpHL1Zsb0o2OU5xYUlWRUlib3EzbEdBREpXZ3ZUZnVhaHBNQ09sNFdacGIwTngwV1pRak45QUo4NWVpcWVnZkZ0d2V1M1ZkZ2k5MTN3ZU14OXdXYVhlbWVjY2ExRzVGVXMvRnRkcDdPRXIyNEtKQ2dwUFpVaWZMc0hENnRTMWVzMFh1UUFXNnRIT0ZwY0NGVVFXenRBS1lPRVBKby8wZjI4eloyYUFRWlo4eTdxL2pKQTN3U3J4Y1I5Y3BOQzFoN1FSdG55TmY5bGVHS05PVCtWbFRuS2JTR281b0JwaGZaM05VQ3JmRm9YaW5OeFhwMmdwN0lOaVNyYkdHdGxySVovb2R0ajUrcWY0N1lnPT0iLCJzaWduYXR1cmUiOiJNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4RFRBTEJnbGdoa2dCWlFNRUFnRXdnQVlKS29aSWh2Y05BUWNCQUFDZ2dEQ0NBK1F3Z2dPTG9BTUNBUUlDQ0ZuWW9ieXE5T1BOTUFvR0NDcUdTTTQ5QkFNQ01Ib3hMakFzQmdOVkJBTU1KVUZ3Y0d4bElFRndjR3hwWTJGMGFXOXVJRWx1ZEdWbmNtRjBhVzl1SUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHlNVEEwTWpBeE9UTTNNREJhRncweU5qQTBNVGt4T1RNMk5UbGFNR0l4S0RBbUJnTlZCQU1NSDJWall5MXpiWEF0WW5KdmEyVnlMWE5wWjI1ZlZVTTBMVk5CVGtSQ1QxZ3hGREFTQmdOVkJBc01DMmxQVXlCVGVYTjBaVzF6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSUl3L2F2RG5QZGVJQ3hRMlp0RkV1WTM0cWtCM1d5ejRMSE5TMUpubVBqUFRyM29HaVdvd2g1TU05M09qaXFXd3Zhdm9aTURSY1RvZWtRbXpwVWJFcFdqZ2dJUk1JSUNEVEFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGQ1B5U2NSUGsrVHZKK2JFOWloc1A2SzcvUzVMTUVVR0NDc0dBUVVGQndFQkJEa3dOekExQmdnckJnRUZCUWN3QVlZcGFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWldGcFkyRXpNREl3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUIwR0ExVWREZ1FXQkJRQ0pEQUxtdTd0UmpHWHBLWmFLWjVDY1lJY1JUQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0R3WUpLb1pJaHZkalpBWWRCQUlGQURBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCMG9iTWsyMEpKUXczVEoweFFkTVNBalpvZlNBNDZoY1hCTmlWbU1sKzhvd0lnYVRhUVU2djFDMXBTK2ZZQVRjV0tyV3hRcDlZSWFEZVE0S2M2MEI1SzJZRXdnZ0x1TUlJQ2RhQURBZ0VDQWdoSmJTKy9PcGphbHpBS0JnZ3Foa2pPUFFRREFqQm5NUnN3R1FZRFZRUUREQkpCY0hCc1pTQlNiMjkwSUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHhOREExTURZeU16UTJNekJhRncweU9UQTFNRFl5TXpRMk16QmFNSG94TGpBc0JnTlZCQU1NSlVGd2NHeGxJRUZ3Y0d4cFkyRjBhVzl1SUVsdWRHVm5jbUYwYVc5dUlFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJQQVhFWVFaMTJTRjFScGVKWUVIZHVpQW91L2VlNjVONEkzOFM1UGhNMWJWWmxzMXJpTFFsM1lOSWs1N3VnajlkaGZPaU10MnUyWnd2c2pvS1lUL1ZFV2pnZmN3Z2ZRd1JnWUlLd1lCQlFVSEFRRUVPakE0TURZR0NDc0dBUVVGQnpBQmhpcG9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQTBMV0Z3Y0d4bGNtOXZkR05oWnpNd0hRWURWUjBPQkJZRUZDUHlTY1JQaytUdkorYkU5aWhzUDZLNy9TNUxNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdId1lEVlIwakJCZ3dGb0FVdTdEZW9WZ3ppSnFraXBuZXZyM3JyOXJMSktzd053WURWUjBmQkRBd0xqQXNvQ3FnS0lZbWFIUjBjRG92TDJOeWJDNWhjSEJzWlM1amIyMHZZWEJ3YkdWeWIyOTBZMkZuTXk1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CQUdDaXFHU0liM1kyUUdBZzRFQWdVQU1Bb0dDQ3FHU000OUJBTUNBMmNBTUdRQ01EclBjb05SRnBteGh2czF3MWJLWXIvMEYrM1pEM1ZOb282KzhaeUJYa0szaWZpWTk1dFpuNWpWUVEyUG5lbkMvZ0l3TWkzVlJDR3dvd1YzYkYzek9EdVFaLzBYZkN3aGJaWlB4bkpwZ2hKdlZQaDZmUnVaeTVzSmlTRmhCcGtQQ1pJZEFBQXhnZ0dITUlJQmd3SUJBVENCaGpCNk1TNHdMQVlEVlFRRERDVkJjSEJzWlNCQmNIQnNhV05oZEdsdmJpQkpiblJsWjNKaGRHbHZiaUJEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk1DQ0ZuWW9ieXE5T1BOTUFzR0NXQ0dTQUZsQXdRQ0FhQ0JrekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlOVEF4TWpJd016RXlORFZhTUNnR0NTcUdTSWIzRFFFSk5ERWJNQmt3Q3dZSllJWklBV1VEQkFJQm9Rb0dDQ3FHU000OUJBTUNNQzhHQ1NxR1NJYjNEUUVKQkRFaUJDQVBFcVhzSXE2WHVmS0Z1R2FuWk5EVUdIOFBoYmdzV1hqdkdidDNyZTdUUlRBS0JnZ3Foa2pPUFFRREFnUkdNRVFDSUEyelBXR2RIVlczWHUxZ0szYnhlRVpaaTJCUFU5dFhKeEFSb1JIV2FEQU9BaUJmNjNKcjhqVHRuMWk5QWdieFVsWldJcGN0Ylh1SXplRzU2U1VtQnlDNFF3QUFBQUFBQUE9PSIsImhlYWRlciI6eyJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVEVGlZNVd0T1BrbG9pL0VId2YwV3YwQUloMEx5aGxZY3FPUFpjelpNa0UrbVpONG82dFNzZVNnL09ub0FIODBIVXVVRmdVUkI5N0Zydi9jbUpjZU5MQT09IiwicHVibGljS2V5SGFzaCI6InBLcUw4d0plOFB1VnNidVl4azJPNE5rZTZJMGxOTXlVRE9uZElETVNHbXc9IiwidHJhbnNhY3Rpb25JZCI6IjU0MWRiMDc5Y2ZhOTBhMGY0MzMwYmNhNzNhNDhiZGY2MDlmZDcyZDhkNWQ0YzUxOGE3NDFjOGFlZmY4ZWM4ODMifX0=",
"request_id": "5g71qqe2v3twvm1sr71e74al5h7q4pbq"
}
}
Response example:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "8c9908cf-0df7-7e22-1724-0080246bb918",
"amount": "0.10",
"currency": "EUR",
"sub_pay_method": "Apple Pay",
"state": "paid"},
"message": "",
"response_id": "202407261759298674663100"
}
Additional information:
Response result:
-
A successful request returns "status": true.
-
A failed request returns "status": false.
The API returns the payment result synchronously. A state of paid indicates a successful payment. Recomendamos encarecidamente utilizar tanto Consulta de pedido como Notificaciones asíncronas para mantener los estados de pago precisos y actualizados. a) An order state of paid indicates a successful payment. b) An order state of authorized indicates a successful authorization. To capture an authorized payment, call the Capture Authorization API.
Response codes:
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -1000 | Internal error |
| false | -403 | The signature Error |
| false | -2001 | The user not exist |
| false | -3001 | Required field is missing |
| false | -4118 | Incorrect request ID |
