œ_#ÁÕ§TE NAŒ“KeÉ:”(åŽÖJÞùY’‚ñùž7; «]Û ý`8g“¯B© jdÖÖ¸ðzœ¸¦4Ç3Kó^(ÍÖ¼ Õ€pvìwšõB4df$Èü^0˜…åÌC$#2FŽÑ§±¦ÛZ/÷š&m£ñzÒÖ ’.Î]!Î;ƒ(Õ–¢d/—#Kª+tZyuÏB>NÛÖ†(¸ŒSà'³„Y˜´-_•¦¼´˜OlNK§¶ÒàŠˆTHµƒeTPå·fïM’…þuÏÍüp6دªE£åü‡ZØ'CKF#â«;‹eyO Qp„†l"ö1èíÙP ÏŒúl! BÝ2ñª•_VÁÉ÷3eu`–F¸ìI--ö<¿žë¯4õ캿¢)34Å{wMÉ2ÆÖFŸ¥`e9Ú¶¸P‡.”FÔï rY ‚²ÈTB,{ÛœéJ}«àQ4¹0Rû4D‚B§S‘ dO•v¾„™Sן¯3FeŸ™«+ÓâwH dÕÛÌì·P4ë&¥#rÜÉ Ù¦ê†ý·xòqk¯2,¹§™E\ék‚×Sá”ÚºÙ⺷ö£6…à ʾ qSá³Å|;àû}4Ÿ($â¹VY~óÍ!èÜÒŒËX½Ù1j‚VíÍŸš³+œ]«½g{_{/vµ½\¢¶vÉWKÿ:ñám½ ¥ S²x‘t ŽšÝÙÿÀÇ^ný PK IW™k‚½÷ á _rels/.relsUT dìd dìd dìd’ÏNÃ0‡ï{ŠÈ÷ÕÝ@¡¥» ¤Ý*`%îÑ&QâÁöö‚J£ì°cœŸ¿|¶²ÙÆA½rL½wVE Šñ¶w†çúay * 9Kƒw¬áÈ ¶ÕbóÄIîI]’Ê—4t"á1™ŽGJ…ìòMããH’±Å@æ…ZÆuYÞ`üÍ€jÂT;«!îì T}|Û7MoøÞ›ýÈNN<|v–í2ÄÜ¥ÏèšbË¢Ázó˜Ë )„"£OÏ7ú{ZYÈ’yÞç#1'tuÉM?6o>Z´_å9›ëKÚ˜}?þ³žÏÌ·N>fµx PK IWª½e ¢ U € word/document.xmlUT dìdPK IWþË3” z €J¢ word/settings.xmlUT dìdPK IWC‡{š' ƒ €¤ docProps/custom.xmlUT dìdPK IW츱=Œ €‡¥ [Content_Types].xmlUT dìdPK IWV%ë±" €U§ docProps/app.xmlUT dìdPK IW€RŒ 3 €¶¨ docProps/core.xmlUT dìdPK IWkòDn ô €ª word/_rels/document.xml.relsUT dìdPK IW;$î €Î« word/fontTable.xmlUT dìdPK IW+åäz] ÷. €ý¬ word/numbering.xmlUT dìdPK IW¤2×r- ¿ €›° word/styles.xmlUT dìdPK IWMFÒ ø €´ word/header1.xmlUT dìdPK IWF— T e €· word/media/image1.jpegUT dìdPK IW!Yéáå €°Ë word/media/image2.pngUT dìdPK IW°Àºë ú €ÙÌ word/media/image3.pngUT dìdPK IW$“†ª L €Î word/footer1.xmlUT dìdPK IWzaGôM €ñÑ word/footer2.xmlUT dìdPK IW–µâº P €}Õ word/theme/theme1.xmlUT dìdPK IW™k‚½÷ á €{Û _rels/.relsUT PK ! bîh^ [Content_Types].xml ¢( ¬”ËNÃ0E÷HüCä-Jܲ@5í‚Ç*Q>Àēƪc[žiiÿž‰ûB¡j7±ÏÜ{2ñÍh²nm¶‚ˆÆ»R‹ÈÀU^7/ÅÇì%¿’rZYï @1__f› ˜q·ÃR4DáAJ¬h>€ãÚÇV߯¹ªZ¨9ÈÛÁàNVÞ8Ê©ÓãÑÔji){^óã-I‹"{Üv^¥P!XS)bR¹rú—K¾s(¸3Õ`cÞ0†½ÝÎß»¾7M4²©ŠôªZÆk+¿|\|z¿(Ž‹ôPúº6h_-[ž@!‚ÒØ Pk‹´2nÏ}Ä?£LËð Ýû%áÄßdºždN"m,à¥ÇžDO97*‚~§Èɸ8ÀOíc|n¦Ñ äEøÿöéºóÀBÉÀ!$}‡íàÈé;{ìÐå[ƒîñ–é2þ ÿÿ PK ! µU0#ô L _rels/.rels ¢( ¬’MOÃ0†ïHü‡È÷ÕÝBKwAH»!T~€Iܵ£$Ý¿'TƒG½~üÊÛÝ<êÈ!öâ4¬‹;#¶w†—úqu *&r–Fq¬áÄvÕõÕö™GJy(v½*«¸¨¡KÉß#FÓñD±Ï.W ¥†=™ZÆMYÞbø®ÕBS톰·7 ê“Ï›×–¦é ?ˆ9LìÒ™ÈsbgÙ®|Èl!õùUSh9i°bžr:"y_dlÀóD›¿ý|-NœÈR"4ø2ÏGÇ% õZ´4ñËyÄ7 ëÈðÉ‚‹¨Þ ÿÿ PK ! Q48wÛ — xl/workbook.xml¤UÙnâ0}iþ!cñ‡ *–¢AšVU×$dC¬&vÆv UÕŸë@XÊK§/¹p|Žï¹N÷b“¥Ö •Š ÞC¸î"‹òHÄŒ¯zèá~b·‘¥4á1I§=ôJºèÿüÑ] ù¼âÙ ®z(Ñ:GE ͈ª‹œrˆ,…̈†©\9*—”Ä*¡Tg©ã¹nàd„q´Eåg0ÄrÉ":Q‘Q®· ’¦D}•°\UhYô¸ŒÈç"·#‘å ±`)Ó¯%(²²(œ®¸d‘‚ì nZ w v¡ñª• t¶TÆ")”Xê:@;[Ògú±ë`|²›ó=ø’ïHúÂL÷¬dðEVÁ+8€a÷Ûh¬Uz%„Íû"ZsÏÍCýî’¥ôqk]‹äù5ÉL¦Rd¥Dé˘i÷P ¦bM/|dÉ",…¨çãFNoçiûéë>aêiçsó#ðÄ ÕTr¢éHp ÜIú®ÝJìQ"ÀÜÖ-ý[0I¡¦ÀZ Z…d¡nˆN¬B¦=4 g %PDF-1.4 %âãÏÓ 3 0 obj << /Linearized 1 /L 422775 ÿØÿà JFIF ÿÛ C ÿÛ C ÿÀ X" ÿÄ ÿÄ H !1A"Qaq2‘¡#±ÁBRÑ3Cbrá$S‚¢²ð4ñ%6DTc’ÂsÿÄ ÿÄ = !1AQ"aq‘Á2R¡±BÑð#3br’²4á$‚¢ÂñÿÚ ? áHBßÝ`„! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! ! stream
## Tokens
### Fetch token by payment id
```php
$api->payment->fetch($paymentId);
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| paymentId* | string | The id of the payment to be fetched |
**Response:**
```json
{
"id": "pay_FHfqtkRzWvxky4",
"entity": "payment",
"amount": 100,
"currency": "INR",
"status": "captured",
"order_id": "order_FHfnswDdfu96HQ",
"invoice_id": null,
"international": false,
"method": "card",
"amount_refunded": 0,
"refund_status": null,
"captured": true,
"description": null,
"card_id": "card_F0zoXUp4IPPGoI",
"bank": null,
"wallet": null,
"vpa": null,
"email": "gaurav.kumar@example.com",
"contact": "+919876543210",
"customer_id": "cust_DtHaBuooGHTuyZ",
"token_id": "token_FHfn3rIiM1Z8nr",
"notes": {
"note_key 1": "Beam me up Scotty",
"note_key 2": "Tea. Earl Gray. Hot."
},
"fee": 0,
"tax": 0,
"error_code": null,
"error_description": null,
"error_source": null,
"error_step": null,
"error_reason": null,
"acquirer_data": {
"auth_code": "541898"
},
"created_at": 1595449871
}
```
-------------------------------------------------------------------------------------------------------
### Fetch tokens by customer id
```php
$api->customer->fetch($customerId)->tokens()->all();
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | The id of the customer to be fetched |
**Response:**
```json
{
"entity":"collection",
"count":1,
"items":[
{
"id":"token_HouA2OQR5Z2jTL",
"entity":"token",
"token":"2JPRk664pZHUWG",
"bank":null,
"wallet":null,
"method":"card",
"card":{
"entity":"card",
"name":"Gaurav Kumar",
"last4":"8950",
"network":"Visa",
"type":"credit",
"issuer":"STCB",
"international":false,
"emi":false,
"sub_type":"consumer",
"expiry_month":12,
"expiry_year":2021,
"flows":{
"otp":true,
"recurring":true
}
},
"recurring":true,
"recurring_details":{
"status":"confirmed",
"failure_reason":null
},
"auth_type":null,
"mrn":null,
"used_at":1629779657,
"created_at":1629779657,
"expired_at":1640975399,
"dcc_enabled":false,
"billing_address":null
}
]
}
```
-------------------------------------------------------------------------------------------------------
### Fetch particular token
```php
$api->customer->fetch($customerId)->tokens()->fetch($tokenId);
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | The id of the customer to be fetched |
| tokenId* | string | The id of the token to be fetched |
**Response:**
```json
{
"id": "token_Hxe0skTXLeg9pF",
"entity": "token",
"token": "F85BgXnGVwcuqV",
"bank": null,
"wallet": null,
"method": "card",
"card": {
"entity": "card",
"name": "ankit",
"last4": "5449",
"network": "MasterCard",
"type": "credit",
"issuer": "UTIB",
"international": false,
"emi": false,
"sub_type": "consumer",
"expiry_month": 12,
"expiry_year": 2024,
"flows": {
"recurring": true
}
},
"recurring": true,
"auth_type": null,
"mrn": null,
"used_at": 1632976165,
"created_at": 1631687852,
"expired_at": 1634215992,
"dcc_enabled": false
}
```
-------------------------------------------------------------------------------------------------------
### Delete token
```php
$api->customer->fetch($customerId)->tokens()->delete($tokenId);
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | The id of the customer to be fetched |
| tokenId* | string | The id of the token to be fetched |
**Response:**
```json
{
"deleted": true
}
```
-------------------------------------------------------------------------------------------------------
### Fetch VPA tokens of a customer id
```php
$api->customer->fetch($customerId)->tokens()->all();
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | The id of the customer to be fetched |
**Response:**
```json
{
"entity": "collection",
"count": 1,
"items": [
{
"id": "token_EeroOjvOvorT5L",
"entity": "token",
"token": "4ydxm47GQjrIEx",
"bank": null,
"wallet": null,
"method": "card",
"card": {
"entity": "card",
"name": "Gaurav Kumar",
"last4": "8430",
"network": "Visa",
"type": "credit",
"issuer": "HDFC",
"international": false,
"emi": true,
"expiry_month": 12,
"expiry_year": 2022,
"flows": {
"otp": true,
"recurring": true
}
},
"vpa": null,
"recurring": false,
"auth_type": null,
"mrn": null,
"used_at": 1586976724,
"created_at": 1586976724,
"expired_at": 1672511399,
"dcc_enabled": false
}
]
}
```
-------------------------------------------------------------------------------------------------------
### Create a token
```php
$api->token->create(array(
"customer_id" => "cust_1Aa00000000001",
"method" => "card",
"card" => array(
"number" => "4111111111111111",
"cvv" => "123",
"expiry_month" => "12",
"expiry_year" => "21",
"name" => "Gaurav Kumar"
),
"authentication" => array(
"provider" => "razorpay",
"provider_reference_id" => "pay_123wkejnsakd",
"authentication_reference_number" => "100222021120200000000742753928"
),
"notes" => array()
));
```
**Parameters:**
| Name | Type | Description |
|---------------|-------------|---------------------------------------------|
| customerId* | string | The id of the customer to be fetched |
| method* | string | The type of object that needs to be tokenised. Currently, `card` is the only supported value. |
| card* | object | All keys listed [here](https://razorpay.com/docs/partners/aggregators/partner-auth/token-sharing/#create-token-on-behalf-of-a-sub-merchant) are supported
|
| authentication | object | All keys listed [here](https://razorpay.com/docs/partners/aggregators/partner-auth/token-sharing/#create-token-on-behalf-of-a-sub-merchant) are supported |
**Response:**
```json
{
"id": "token_IJmat4GwYATMtx",
"entity": "token",
"method": "card",
"card": {
"last4": "1111",
"network": "Visa",
"type": "credit",
"issuer": "IDFB",
"international": false,
"emi": false,
"sub_type": "consumer"
},
"customer": {
"id": "cust_1Aa00000000001",
"entity": "customer",
"name": "Bob",
"email": "bob@gmail.com",
"contact": "9000090000",
"gstin": null,
"notes": {
"notes_key_1": "Tea, Earl Grey, Hot",
"notes_key_2": "Tea, Earl Grey… decaf."
},
"created_at": 1658390470
},
"expired_at": 1701368999,
"customer_id": "cust_1Aa00000000001",
"compliant_with_tokenisation_guidelines": true,
"status": "active",
"notes": []
}
```
-------------------------------------------------------------------------------------------------------
### Fetch token
```php
$api->token->fetch(array("id" => "token_4lsdksD31GaZ09"));
```
**Parameters:**
| Name | Type | Description |
|-------------|-------------|---------------------------------------------|
| id* | string | The unique identifier of a sub-merchant account generated by Razorpay. |
**Response:**
```json
{
"id": "token_4lsdksD31GaZ09",
"entity": "token",
"customer_id": "cust_1Aa00000000001",
"method": "card",
"card": {
"last4": "3335",
"network": "Visa",
"type": "debit",
"issuer": "HDFC",
"international": false,
"emi": true,
"sub_type": "consumer",
"token_iin": "453335"
},
"compliant_with_tokenisation_guidelines": true,
"expired_at": 1748716199,
"status": "active",
"status_reason": null,
"notes": []
}
```
-------------------------------------------------------------------------------------------------------
### Delete a token
```php
$api->token->delete(array("id" => "token_4lsdksD31GaZ09"));
```
**Parameters:**
| Name | Type | Description |
|-------------|-------------|---------------------------------------------|
| id* | string | The unique identifier of a sub-merchant account generated by Razorpay. |
**Response:**
```json
[]
```
-------------------------------------------------------------------------------------------------------
### Process a Payment on another PA/PG with Token
```php
$api->token->processPaymentOnAlternatePAorPG(array("id"=>"spt_4lsdksD31GaZ09"));
```
**Parameters:**
| Name | Type | Description |
|-------------|-------------|---------------------------------------------|
| id* | string | The unique identifier of the token whose details are to be fetched. |
**Response:**
```json
{
"card": {
"number": "4016981500100002",
"expiry_month" : "12",
"expiry_year" : 2021
}
}
```
-------------------------------------------------------------------------------------------------------
**PN: * indicates mandatory fields**
<br>
<br>
**For reference click [here](https://razorpay.com/docs/api/recurring-payments/upi/tokens/)**