# iOS SDK - Receipt Module (/limited-release/wlw/ios-sdk/receipt)



Use the endpoints of this module to retrieve and display previously completed transactions. Data obtained from the returned results may be displayed in the app or used in populating a refund or other related transaction.

## Initialize Receipt Facade [#initialize-receipt-facade]

Prior to invoking any receipt module endpoints:

1. Create a new request object for the relevant coordinator.

2. Implement the delegate for the coordinator to handle responses.

```text lineNumbers
[receiptCoordinator receiptDelegate:self];
self.receiptCoordinator = receiptCoordinator;
receiptCoordinator.receiptDelegate = self;
```

## retrieveReceiptSummary [#retrievereceiptsummary]

Gets a set of receipt summary objects matching the filtering criteria specified.

| Element | Value                                                                                                                                                                                                                                                                                                                              |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method  | `-(void) retrieveReceiptSummary:(`[`PDRetrieveReceiptSummaryRequest`](/limited-release/wlw/ios-sdk/objects-receipt#pdretrievereceiptsummaryrequest)`( *)request;`<br /><br />`request` - A request instance that specifies filtering parameters for the retrieval, such as date range, merchant, maximum number of records, etc.   |
| Success | `void (^FetchReceiptSummaryCompletionBlock(`[`PDRetrieveReceiptSummaryResponse`](/limited-release/wlw/ios-sdk/objects-receipt#pdretrievereceiptsummaryresponse)` *response);`<br /><br />`response` - The set of receipt summary objects matching the request criteria plus status information related to the outcome of the call. |
| Failure | `void (^FetchReceiptSummaryFailureBlock)(`[`PDPaydiantError`](/limited-release/wlw/ios-sdk/objects-error/)` *receiptFetchingError);`                                                                                                                                                                                               |

Configure user error messages for this call with the key `kUserErrorRetrieveReceiptSummaryDomain`.

| Error | Description                                 |
| ----- | ------------------------------------------- |
| `400` | Required parameters are missing or invalid. |
| `500` | An internal server error occurred.          |

## retrieveReceiptDetail [#retrievereceiptdetail]

Gets the full content details for a specified receipt.

| Element | Value                                                                                                                                                                                                                                                                                                   |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method  | `-(void) retrieveReceiptDetail:(`[`PDRetrieveReceiptDetailRequest`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptdetailrequest)` *)request;`<br /><br />`request` - Identifies the transaction for which a full receipt is requested.                                                 |
| Success | `void (^FetchReceiptDetailCompletionBlock(`[`PDRetrieveReceiptDetailResponse`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptdetailresponse)` *response);`<br /><br />`response` - The receipt detail matching the request plus status information related to the outcome of the call. |
| Failure | `void (^FetchReceiptDetailFailureBlock)(`[`PDPaydiantError`](/limited-release/wlw/ios-sdk/objects-error/)` *receiptFetchingError);`                                                                                                                                                                     |

Configure user error messages for this call with the key `kUserErrorRetrieveReceiptDetailDomain`.

| Error | Description                                   |
| ----- | --------------------------------------------- |
| `400` | Required parameters are missing or invalid.   |
| `403` | The user must be logged in to make this call. |
| `404` | The specified receipt could not be located.   |
| `500` | An internal server error occurred.            |

## retrieveReceiptsWithSplitTenderPayments [#retrievereceiptswithsplittenderpayments]

Gets a set of receipts in which multiple payment sources were used as tender and also match the filtering criteria specified.

| Element | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method  | `-(void) retrieveReceiptsWithSplitTenderPayments:(`[`PDRetrieveReceiptsWithSplitTenderPaymentsRequest`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptswithsplittenderpaymentsrequest)` *)aRetrieveSplitTenderRequest;`<br /><br />`aRetrieveSplitTenderRequest` - Specifies filtering parameters for the returned receipts, such as date range, merchant, maximum returned records, etc.                                                                                                                                    |
| Success | `void (^FetchReceiptsWithSplitTenderPaymentsCompletionBlock(NSArray *receiptsWithSplitTenders, `[`PDRetrieveReceiptsWithSplitTenderPaymentsResponse`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptswithsplittenderpaymentsresponse)` *response);`<br /><br />`receiptsWithSplitTenders` - The set of split tender receipt instances that match the request filters.<br />`response` - The set of split tender receipt instances that match the request filters plus status information related to the outcome of the call. |
| Failure | `void (^FetchReceiptsWithSplitTenderPaymentsFailureBlock)(`[`PDPaydiantError`](/limited-release/wlw/ios-sdk/objects-error/)` *receiptFetchingError);`                                                                                                                                                                                                                                                                                                                                                                                         |

Configure user error messages for this call with the key `kUserErrorReceiptsWithSplitTenderPaymentsDomain`.

| Error | Description                                   |
| ----- | --------------------------------------------- |
| `400` | Required parameters are missing or invalid.   |
| `403` | The user must be logged in to make this call. |
| `500` | An internal server error occurred.            |

## retrieveReceiptWithSplitTenderPayments [#retrievereceiptwithsplittenderpayments]

Get one specific receipt in which multiple payment sources were used as tender.

| Element | Value                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method  | `-(void) retrieveReceiptWithSplitTenderPayments:(`[`PDRetrieveReceiptWithSplitTenderPaymentsRequest`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptwithsplittenderpaymentsrequest)` *)aRetrieveSplitTenderRequest;`<br /><br />`aRetrieveSplitTenderRequest` - Identifies the specific split tender transaction requested.                                                                                           |
| Success | `void (^FetchReceiptWithSplitTenderPaymentsCompletionBlock(`[`PDReceipt`](/limited-release/wlw/ios-sdk/objects-receipt/#pdreceipt)` *receipt, PDRetrieveReceiptWithSplitTenderPaymentsResponse *response);`<br /><br />`receipt` - The receipt instance matching the specified transaction in the request.<br />`response` - The receipt instance specified in the request plus status information related to the outcome of the call. |
| Failure | `void (^FetchReceiptWithSplitTenderPaymentsFailureBlock)(`[PDPaydiantError](/limited-release/wlw/ios-sdk/objects-error/)` *receiptFetchingError);`                                                                                                                                                                                                                                                                                     |

Configure user error messages for this call with the key `kUserErrorReceiptWithSplitTenderPaymentsDomain`.

| Error | Description                                   |
| ----- | --------------------------------------------- |
| `400` | Required parameters are missing or invalid.   |
| `403` | The user must be logged in to make this call. |
| `404` | The specified receipt could not be located.   |
| `500` | An internal server error occurred.            |

## retrieveRefundableReceiptsWithSplitTenderPayments [#retrieverefundablereceiptswithsplittenderpayments]

Gets a set of receipts in which multiple payment sources were used as tender that are eligible for refund and also match the filtering criteria specified.

| Element | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method  | `-(void) retrieveRefundableReceiptsWithSplitTenderPayments:`([`PDRetrieveReceiptsWithSplitTenderPaymentsRequest`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptswithsplittenderpaymentsrequest)` *)aRefundableSplitTenderRequest;`<br /><br />`aRefundableSplitTenderRequest` - Specifies filtering parameters for the returned receipts, such as date range, merchant, maximum returned records, etc.                                                                                                                                          |
| Success | `void (^FetchRefundableReceiptsWithSplitTenderPaymentsCompletionBlock(NSArray *refundableReceipts, `[`PDRetrieveReceiptsWithSplitTenderPaymentsResponse`](/limited-release/wlw/ios-sdk/objects-receipt/#pdretrievereceiptswithsplittenderpaymentsresponse)` *response);`<br /><br />`refundableReceipts` - The set of refundable split tender receipt instances that match the request filters.<br />`response` - The set of refundable split tender receipt instances that match the request filters plus status information related to the outcome of the call. |
| Failure | `void (^FetchRefundableReceiptsWithSplitTenderPaymentsFailureBlock)(`[`PDPaydiantError`](/limited-release/wlw/ios-sdk/objects-error/)` *receiptFetchingError);`                                                                                                                                                                                                                                                                                                                                                                                                   |

Configure user error messages for this call with the key: `kUserErrorRefundableReceiptsWithSplitTenderPaymentsDomain`.

| Error | Description                                   |
| ----- | --------------------------------------------- |
| `400` | Required parameters are missing or invalid.   |
| `403` | The user must be logged in to make this call. |
| `500` | An internal server error occurred.            |
